Editor Utility Widgets Feedback

One slightly annoying thing at the moment (4.23.1) is that every time I update an EUW, I have to close it and reopen it to get the changes, which gets a bit tedious (I’m 90% sure I didn’t have to do this one or two versions before). I haven’t checked 4.24 preview.

You are right, I’ll bump my post to a new thread. Thanks and sorry! :slight_smile:

How to input materials into editor utility widget?

Is there any chance you could automatically discard EditorUtilityActors/Objects in the level when loading standalone?

If I make an EdUtilActor and place it in the level, it always generates a heap of log errors on load (even if I set Editor Only Actor = True). I’m guessing they go away on cook, but the problem is I place these around and the programmers get understandably antsy about leaving heaps of known log errors in the uncooked game.

This is an example of the errors generated by an Editor Only EdUtilActor with no code in it:


[2019.11.27-20.59.43:398]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'DefaultSceneRoot': BlueprintGeneratedClass /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor_C
[2019.11.27-20.59.43:418]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'UserConstructionScript': BlueprintGeneratedClass /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor_C
[2019.11.27-20.59.43:418]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'EventGraph': EditorUtilityBlueprint /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor
[2019.11.27-20.59.43:419]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'UserConstructionScript': EditorUtilityBlueprint /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor
[2019.11.27-20.59.43:419]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'K2Node_CallFunction_0': EdGraph /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor:UserConstructionScript
[2019.11.27-20.59.43:420]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'K2Node_Event_0': EdGraph /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor:EventGraph
[2019.11.27-20.59.43:420]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'K2Node_Event_1': EdGraph /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor:EventGraph
[2019.11.27-20.59.43:421]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'K2Node_Event_2': EdGraph /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor:EventGraph
[2019.11.27-20.59.43:421]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'K2Node_FunctionEntry_0': EdGraph /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor:UserConstructionScript
[2019.11.27-20.59.43:422]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'DefaultSceneRoot_GEN_VARIABLE': BlueprintGeneratedClass /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor_C
[2019.11.27-20.59.43:422]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'SceneThumbnailInfo_0': EditorUtilityBlueprint /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor
[2019.11.27-20.59.43:423]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'SimpleConstructionScript_0': BlueprintGeneratedClass /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor_C
[2019.11.27-20.59.43:423]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'SCS_Node_0': SimpleConstructionScript /Game/Blueprints/Test_EdUtilActor.Test_EdUtilActor_C:SimpleConstructionScript_0
[2019.11.27-20.59.43:424]  0]LoadErrors: Warning: CreateExport: Failed to load Outer for resource 'DefaultSceneRoot': Test_EdUtilActor_C /Game/Maps/Test/ProcGen_Test.ProcGen_Test:PersistentLevel.Test_EdUtilActor_2

I have these ed util actors that hold information about procedurally generated stuff (and all the generation code), and they use editor scripting code to spawn actors. As a workaround I could make them non-ed-util actors that stay in the world, and use right-click actor action utils to do the scripting work, but there is a bunch of stuff that should happen automatically rather than be triggered manually. So it’d be nice if we could just keep these in the world and know that they get discarded in-game.

1 Like

I’ve just noticed that in 4.24 widget windows and viewport layout is now project wide! So now every project can have its own viewport/widget arrangement. This is much better, thank you!
… Am I right? This is a new thing in 4.24, right? Just wanted to make sure that I’m not missing something here :slight_smile:

So I just ported my editor widget from 4.23 to 4.24 and now it crashes everytime I compile it. If I disable the connection here I don´t get a crash. Has the “set object” function changed? It also happens if I run the function in the “event construct”.

If I don´t use the Set object function I´m not able to populate my widget with all my variables.

Hi! Can you please report that here: Unreal Engine Community so we can get it tracked? Thanks!

Thanks, I submitted it

For others wondering this: Seems like the widget arrangement is stored in the Saved/Config/Windows/EditorPerProjectUserSettings ini file.
If you keep this in your project, widget/layout arrangement should stay saved in your project correctly.

Again, thank you dev team for the utility widgets! I’ve used them to create a layer system and material preview widgets for my new texture creator tool :slight_smile:
https://forums.unrealengine.com/unreal-engine/marketplace/1708253-easy-texture-creator

Hi, I have a concern about file creation and editing.
I use the “Create Asset…” node and for the moment I had only used it on the “Object” base type assets and I can create, edit and save the entire asset.
However I have tested with the “Actor” type assets, and now it is possible to create the asset but impossible to edit it and when I want to open it I crash.
It’s a pity that it doesn’t work especially because it’s impossible to create an asset from an actor in the world (like conversion).
I believe that the version of the plugin “Editor utility” didn’t have an update since, will you make an update soon to add functionality ?

For everyone using 4.24 I got this reply from the dev team:
“It looks like the “Set Object” function has been removed in 4.24. That would be the reason your Widget is crashing. It is trying to compile something that doesn’t exist anymore.”

But I´m not sure on how to actually display and set the variables in the editor widget in 4.24. Anyone got an answer to this?

Edit:
@Shadow.Storm mentioned this in an earlier post here, but no further explanation was given yet: “…expose properties for editing without needing to remake editor UI. A helpful hint is to set “this” node for the Object oh these widgets, and then any public properties will show up.”

Hi. I’m creating a simple Editor Utility Widget. In the construction script I write the message output. After I launch the widget and see its work in the logs.

The first problem is that after each autosave of the project, the script is executed. This is good, but it would be cool to have an analog event-begin play for such widgets, which will be executed only when the widget starts, and not every update or autosave.

Now the second problem. It looks like the UE is not unloading data when the widget is closed. Here is an example below. When the project is saved, the logic is written in the log, which was installed on the construction script in the widget. if I open and close the widget several times and save the project, then the log will be processed as many times as I opened the widget.
The problem is treated by restarting the project.

Video:

Hi.
first of all so far its been a great experience with the editor utility widgets but here are my two-cents:

I’d like to see the possibility to change the Viewport mode (unlit, lit, lighting only, etc.), Buffer Visualization, Show-Flags (Mesh Distance Fields, Light Types, etc.) and while were at it maybe changing perspective modes is useful to someone too!

Changing Grid Scaling would be useful too!

I guess I like to see generally more options to modify the viewport.

Cheers!

1 Like

Where can I find such subsystem? (new to C++ programming, sorry). I’m looking to launch an Editor Uitility Widget when pressing a Plugin Button in the Editor Panel

In c++ it seems it works like so:


                    UEditorUtilitySubsystem* EditorUtilitySubsystem = GEditor->GetEditorSubsystem<UEditorUtilitySubsystem>();
                    EditorUtilitySubsystem->SpawnAndRegisterTab(EditorWidget);


and in bp just right click and type “GetEditorUtilitySubsystem” and you have it.

Any news here? I really want to update my plugins to be 4.24 compatible since a lot of people are asking for it

Using Details View I can only see Class Settings when I input non-spawned object to Set Object node. I can see my created Variables only when I use spawned object however it only allows me to change spawned instance’s variables. Except for Data Assets, I can input a data asset into Set Object and change its default values using Details View widget. Is this intended or should I not use it? Also, is there a way to change default/initial values of an Object using Details View?

Edit: Looks like Data Asset doesn’t get saved when its values are changed through Details Views. However, I can use “Create Copy for Undo Buffer” to mark the Data Asset dirty and then save it using “Save Packages” node. Please let me know if I should be doing that because I’m working on something that’ll depend on this, and would break the whole thing if it gets removed in future.

Hello, sorry for asking here, it is still not your site. But, I have created a Wdiget Utility, but I want it to work in a template. When I open the template it tells me “Unrecognized tab”. Please help me

I’m using it to train an AI. It allows me to train it faster than using C++ to manipulate the interface to represent the user. It just helps me make test cases faster, and iterate in ideas quicker for AI training. I will like to continue the expansion of utilities that work in editor mode since there are some things that only exist on run-time. I also think that the widget icons and helpers are quite bad. To have control I created a web app on a server than it is called by UE4 into a browser window. That allows me to have great user interfaces with less maintenance, but I wish UE4 could do the same direction with the editor. Maybe invest in the widget utility to utilize HTML/XML/JSON to manipulate better user interfaces? While I like my server/UE4/menu solution, it would be best to have it integrated directly into the software.

I’m kinda necroing this because I just found myself googling it a bit earlier…

I’m avoiding this sort of error in my Editor Utility Widget using the following pattern. It’s not pretty, but it gets the job done.

By checking that the Game World is not valid before checking that the Editor World is valid, the game is happy in play mode because the logic never attempts to access editor logic, and at edit time, it doesn’t mind that the game world is accessed, although it is not a valid object.

Or maybe this is a super bad anti-pattern or something. I personally couldn’t find a cleaner way to do it.