Jump to content

Unreal Editor - automation help


Go to solution Solved by RTFC,

Recommended Posts

Hi all.
Knowing the rules of the forum, I want to say right away that I don't play any games and have never played.
I came across Unreal Engine for first time in my life a week ago at my work (medical imaging). So please be understanding.

I need help to start automating the Unreal Editor (WorldSim).

To be more precisely, I need just a few commands such as load batch json file, play/stop level, read/clear log.
How can I take control through ActiveX, COM, Web or something else. Spend a lot of time with no success.
I will be grateful for any help/examples here, PM or email. 

Moderators, if this is still against the rules, you can delete this post without warning me 

Edited by RAMzor
Link to comment
Share on other sites

  • RAMzor changed the title to Unreal Editor - automation help
  • Moderators

RAMzor,

I see from a cursory Google search that the Unreal Editor does indeed have uses other than gaming, but I would appreciate some information from you (via PM if you prefer) as to what exactly you are intending to do with it. Why do you need to automate it? What sort of imaging are you dealing with? We would like to help, so please provide us with the data to allow us to do so.

M23 

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

RAMzor,

Thanks for that - I am happy for the thread to continue.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Solution
Posted (edited)

I have trouble understanding why you would wish to automate Unreal Editor; that's like wanting to automate Scite to write an AutoIt script. If you have access to the uncooked, unpackaged project, it makes more sense to directly edit the blueprints (or add your own BPs to run alongside, or edit/add to project source code) to achieve your goals:

  • JSON: there are several JSON plugins available out of the (UE) box to interact with JSON data (Edit->Plugins->Search "JSON", and several more on the marketplace
  • start/stop: just run the editor headless from the cmdline with the appropriate settings (e.g., if you launch the editor with -game this would act the same as choosing the standalone launch option in the editor)
  • the output log is already written to file (in <YourProjectFolder>\Saves\Logs), or in the Output Log window, click Settings->Open in External editor.

Moreover, automating UE editor seems a terrible idea to me anyway, because its GUI layout/ menu organsiation tends to change (sometimes drastically) with almost every engine update (of which there are several a year).

Edited by RTFC
typo
Link to comment
Share on other sites

Hey @RTFC

2 hours ago, RTFC said:

I have trouble understanding why you would wish to automate Unreal Editor;

I didn't choose to use The Editor this way, I inherited this work process style from developers...

 

2 hours ago, RTFC said:

...that's like wanting to automate Scite to write an AutoIt script. If you have access to the uncooked, unpackaged project, it makes more sense to directly edit the blueprints (or add your own BPs to run alongside, or edit/add to project source code) to achieve

You are absolutely right but .....
I don't want to spend too much time to learning something bombastic  like BLUE to make a "few clicks" and never more use it again, it's overkill to me. This software is used only for this purpose.
Once again, I don't come from the gaming world and know nothing about this software. Even simple commands. I'm just now studying and it's blowing my mind :)

 

2 hours ago, RTFC said:
  • start/stop: just run the editor headless from the cmdline with the appropriate settings (e.g., if you launch the editor with -game this would act the same as choosing the standalone launch option in the editor)

Thanks for the guidance! It can help with something. To know how about this cmdline options you need to know that this option exists at all 😁. I will look now
I saw an option to write commands in the Editor but I was unable to write there programmatically 😒... 

 

2 hours ago, RTFC said:
  • the output log is already written to file (in <YourProjectFolder>\Saves\Logs), or in the Output Log window, click Settings->Open in External editor.

I actually found it 🙂 But while running batch with hundreds of tasks the log is inflated and it's quite difficult to do parsing without deleting between tasks.

 

2 hours ago, RTFC said:

Moreover, automating UE editor seems a terrible idea to me anyway, because its GUI layout/ menu organsiation tends to change (sometimes drastically) with almost every engine update (of which there are several a year).

For this specific mission there is no need to upgrade every time if at all.

 

 

 

Link to comment
Share on other sites

I do not know Unreal Editor, but maybe the community could help if you show an example of what you want to achieve (thru GIF or screen shots or whatever).

18 hours ago, RAMzor said:

I need just a few commands such as load batch json file, play/stop level, read/clear log.

This statement is intended to someone who knows the editor and is useless to most of us.

Link to comment
Share on other sites

I think you may have misinterpreted/overestimated the (very limited) "command" functionality its editor implements; these are mostly startup cmdline options that you can set/change at runtime, and stuff like taking screenshots at some specific resolution. To do the things you want to do in a development environment (i.e., uncooked, unpacked application), by far the easiest way is to create a new, or edit an existing blueprint. Blueprints were explicitly designed for people that are uncomfortable writing code (e.g., most game designers). It's incredibly simple to learn, just connect event/function nodes with their Exec pins to form a flow diagram in the BP, and stick variables into your inputs (or read them from node outputs) where required/desired.

Example: You wrote you need JSON interaction. So open your project, Top Menu->Edit->Plugins, search "JSON", then enable (tick) "JSON Blueprint Utilities" (available for free), and confirm. Restart the Engine, open any blueprint (or create a new one), right-click anywhere on the background, type json in the new window's search bar, and select any of these functions:Capture.thumb.PNG.0e25fc011a9f9c9dacef5b6774d4eec7.PNG

There are literally hundreds of video tutorials online to get you up to speed in a matter of a few hours. And as long as your tasks are not frame-critical, you don't need to engage with the underlying C++ code at all.

Edited by RTFC
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...