Addon node for Widget Editor Blueprint( 4.22 preview )

Hello ,
I did a lot of testing of the “Widget editor blueprint” under the 4.22 preview, I saw in the roadmap that there was “ScriptableEditor” so my proposals may already be included in the next feature.
After several I think there are some nodes missing to improve interactions with the editor.

- Editor DataTable :
I’m not currently finding a way to save information simply as assets, the idea would be to be able to create and edit variables in a file ( style file.ini) to save blueprint editor configurations, which would allow to make presets simply and also to create mini-programs in Blueprint.

- Editor Text Files :
The same as for the datatable, the idea is to be able to create, read and write TextAsset.

- Get Editor Active Viewport Camera Location, rotation :
It is already possible to have this information via a “Get Level Viewport Camera Info” node, but the target is necessarily a “PlacedEditorUtilitesBase” I would like to do without creating an actor to get the camera, if possible, and the possibility of having this information when using the “Widget editor” allows you to create world editing assistants in real time.

- Get Editor Active Viewport absolute and local mouse position pixel :
For the moment the only nodes that allow to have the position of the mouse are only in absolute and do not allow to locate me in relation to the active viewport ( gives a coordinate of the windows desktop).
it would require a node that allows to coordinate it back with the mouse in relation to the viewport and only when it is active ( select), which will allow to make radius tracing for additions of editing capacity directly via the blueprint .

**- Input key and mouse in widget editor only : **
Added the possibility to have the input event of the mouse and keyboard to create widget editor controls.

- Set Widget Editor windows Size :
For the moment it is impossible to define the size when opening the widget editor window.

**- Run Widget Editor **
For the moment it is impossible to open another widget editor via blueprint, it is only possible to open the blueprint editor.

Thank you for everything, I continue the tests for the moment.

In addition to the “get viewport camera location” one, it’d also be great to get the “set actor selection state” / “clear actor selection set” nodes that are on PlacedEditorUtilityBase, that make it possible to select/deselect actors:

I thought maybe we could work around it by spawning a PlaceEditorUtilityBase temporarily but it doesn’t allow us to do it because it is “abstract”.

I’ve found a SaveGame file works (did only a basic test so far). I’m probably going to make a simple savegame blueprint class that has a variable called EditorSettings that is a Map of Strings. That way I can save the states of tickboxes and text entry etc as strings and restore them on startup (or restore defaults).

One other safe way is to create a Blueprint based on DataAsset to contain your variables , utilities … , then create a DataAsset based on that blueprint.

Hi all!

Thank you all for being so interested in Editor Utility Widgets! A fair amount of these are about editor scripting in general, which definitely is an area we know we need to continue to build on, but covers not just Editor Utility Widgets, but Blutilities and Python scripting.
So, the data table, text files, viewport camera and other variables, and selection state would all be part of that larger initiative. Viewport info and selection state is probably more achievable in the near term, as the asset functionality would need to be created as an editor feature overall.

Right now, the Editor Utility Widgets are aimed at creating general level editor tabs. There are definitely more extensive goals as far as other ways to extend the editor, so I think something like creating a UI that can open other UIs would be something we could consider there. I don’t have a concrete timeline for any of that yet though.

For the input key and mouse information, could you give an example of what you are trying to do?


Hello, thank you for your answer.
I continue the tests of the posibilities which are very big, but I have some small problem blocking some possibility, I list everything I have retained for the moment.

- Create and copy asset :

-Create new file
-Copy Asset

I have done several tests, and it is currently impossible to create a factory to use the create asset, maybe it is possible to create a file via the command console.
I was unable to create a copy of an asset.
I would like to be able to have a new basic asset created (blueprint, material, text asset ect…), then to be able to edit them via blueprint .

**- StaticMesh asset editing: **

-Change Collision Complexity
-And LOD collision work?

-Change all variable?
I would like to be able to change the collision type because it is possible to create simple but impossible collisions to change the collision type to be used by the asset, I tested the LOD collision set but I am not sure it works.
Many variables are totally inaccessible via the Blueprint.

- Editor World Viewport :

-Get Start desktop position Viewport
-Get Size editor Viewport

I can have the position of the mouse but impossible to know the size and position of the World viewport editor.
To get the position and rotation of the camera editor, you must use a “PlacedEditorUtilityBase” to use the “Get Level Viewport Camera Info” function.
I would like to create a real-time interaction with the world editor with the use of the mouse with a 2Dvector InScreen to 3D world mouse projection.

- Function Library :

I use the “Editor Scripting utilities” plugin, it is impossible to create a library function with the plugin nodes (unique placed editor utilities base or blutilies)

For the creation of a save data for blueprint application, it is possible to use the DataTag in an asset but it is not extremely practical, a save game is also possible but it is DIY, editing and creating a type of file or asset style ini file or datatable would be the best.

I continue to test the possibilities, and I will keep you informed of the ideas.
Thank you.

My use case is I’d like to use keys to rapidly copy actors and change their properties around. I’m using an actor to handle a good handful of properties for modular meshes (basically type, height, width, length) and I know with keyboard controls I could input and manipulate these values a lot faster than I can using the mouse to alt-drag a copy, then change values in the details panel.

All I need is the ability to capture/listen/register key events while the Editor Utility Widget is in focus and I’ll be off to the races.