So I know Lauren talked about adding more scopes during the live stream, and I wanted to request a scope that’s jumped to the top of my list: UMG!
I’m building out a UI framework for my game to bring some sanity to my UMG workflow, and part of that was importing a custom color palette to help ensure consistent colors are used across my widgets. Creating a user-friendly way to pick from those colors in UMG has proved to be challenging. The color palette currently resides in a struct, and I’ve created an enumerator alongside that which allows me to add a dropdown to my widgets that I can pick a color from. This works, but there’s no visual feedback since the dropdown doesn’t have any swatches to preview each color.
This could easily be addressed with an editor utility widget, either with a color picker or a custom dropdown that shows swatches for each entry. But alas, they’re only scoped to the level editor.
I would love to see UMG and other scopes added in the future!
I have gone through all the posts here so far, and tried to summarize a set of answers. If you feel like I didn’t get to your question, please re-add it here.
**Access to more editor functions/editor specific events. **These will come over time, and in the meantime, it looks like there’s already awesome devs making plugins to expose more of that to Blueprints and Python!
Editor UI styles. UMG is still really a game-first system, so this isn’t something that will change soon, probably. I can say there will be easier ways to make properties like class dropdowns, etc. so you can have details panel-like sections in your editor utility widget.
Saving variables! I agree, we just don’t currently have a time for this scheduled, and it will take a bit of design for the official system. I have seen a number of UE4 devs get this working in different ways, though.
Viewport overlays - this isn’t currently planned, but we are overall focusing a lot on editor extensibility so I wouldn’t rule it out down the line. Menus and toolbars fall into this area as well
BUGS!Please report any crashes, etc. through the UE4 bug tracker. That’s the best way to make sure they get tracked and on the schedule for fixing. That includes the unrecognized tab issue in a different project.
We are also working on a system to get auto-registration running, so you won’t need to run the UI once to get it to show up. This would also probably let you do a “run editor utility widget” so you could have one panel spawn another.
**Keybindings! **This is actually one I haven’t really sketched out a solution for, so I’ll keep it on my list as something to keep in mind for future Editor Utility Widget updates. Same goes for getting mouse inputs, etc. Right now a lot of input is funneled through the currently focused widget, so this will take a bit of system planning.
**EditorUtilityComponent **- keep an eye out here for updates soon
**Worlds and world contexts **- keep in mind that in Editor Scripting Utilities plugin, there are functions for getting the editor world context and the game world context. This will probably help when you’re in simulate or PIE, or need a world context for a node.
Make sure to use transactions! I saw a few things about maps not dirtying, etc. If you begin and end the transaction, and add objects to the undo buffer, that should handle this case. Also, always good to be able to undo or redo things!
**Scopes! **One day, I hope
Also, keep posting your UIs and tweeting them, it’s so great seeing the work everyone is doing here!
In past games I’ve usually made a system to save level stuff to DataTables that can then be easily referenced in game later (such as enemy positions, environmental lighting setups, etc). Only problem is that you then need to open the data table and manually click save for it to keep the changes.
Would be nice if there was a way to force assets to save, this way we could also use Editor Utility widgets as custom DataTable editors!
And also the big one, an asset selector so we can do much more than just simple level tweaks, as it’s one of the few things that currently isn’t possible to get past using widgets.
Also! In the preview I noticed there was a widget that functioned identically to the details panel categories, however it was very buggy and removed in a later preview. Crossing my fingers that it comes back, as being able to hide content (similar to categories) is incredible!
I agree to this. Maybe am not understanding the public variables but it would be good to basically have public variables as in the details panel of an actor i.e. Actually making a customized details panel via Editor Utility Widget.
Not sure if this helps or if it only works in GamePlay but am refering to your “right mouse button”.
Check my attached screenshot.
Basically in the override function “OnMouseButtonDown”, in the widget it uses node “GetEffectingButton” key and compares it with the chosen key of the compare keys. If they’re equal, right mouse button is pressed.
What i would like to see:
-easy way to debug blueprint code and see variables of a Editor utility widget. (Maybe i miss something here but right now i mirror variables to a blueprint in world for debugging purpose)
-have a Blueprint node to run Python code
That works if you are right-clicking in the widget, but not for detecting a right-click in the viewport (which is what Night Watcher was asking about).
I managed to add thumbnails for materials to my EUW, in a very roundabout way.
It works “ok”, but has issues:
It doesn’t know to wait until a material has finished loading & compiling shaders (so it’ll just be default tex thumbnail if the material isn’t a loaded one)
I have to spawn a scenecapture actor with a quad, in order to capture thumbnails for lit materials (which temporarily changes the selection)… so it’s a bit of a hack.
It looks different to the content browser thumbnails and won’t work with all materials
Feature request: A “Get Asset thumbnail” (or “Render Asset thumbnail to Render Target” node, if the thumbnail isn’t safe to access), so we can use the engine’s built-in thumbnailing instead to do this kind of thing.
Could we get a node similar to “Get Selected Assets” that returns Asset Data structures instead of the objects themselves? The problem is, using “Get Selected Assets” has to actually **load **the assets, which makes things very slow when, for example, populating a dropdown with asset names. If we had one that returned asset data instead from the registry then we can choose whether to load or not.
I made a editor widget that collects objects of some types and populates a list so I can avoid the clutter of the world outliner and have a place to easily select certain key types. It all works great but if I load another level when the list is populated the editor crashes with an exception on CheckForWorldGCLeaks. This is probably because I still have references to objects in my list and the GC can’t clean up the level properly. The question is, how can I clean up my list on or before level load? is there any functionality or work around for this?
Hey, is it possible to access default values of another blueprint using editor widgets? Kind of like the “Apply Instance Changes to Blueprint” menu option that is there on an instance, except I’d like to modify the default values using the editor widget. Great feature btw
Suggestion:
I’m using Editor Utility widget to create custom Datasmith import functions. Currently I have some Editable Texts inputs where the user can paste file path for the import (ex. c:/MyFolder/MyFile.udatasmith). This is working but it would be great if we had some sort of integrated widget that could open a Windows explorer import dialog, where the user can select the file to import, and this would return a string with the file path.
Hello,
First off, this is amazing! Didn’t even knew i was waiting for this to be in till i actually tried it out.
Here are a list of stuff i would be glad to have in:
○A blueprint node that can run python code would be amazing!|
○A table widget/dropdown etc so we can make and display data easily.
○Set Lod Preset should be made accesible from blueprints, right now you can only create manual lods for each step but i would like to have the option to just set a preset for it that will automatically generate those lods(this is available from Python)
I am having a similar issue, except I don’t get CheckForWorldGCLeaks, I get an ObjectIsNotCurrentlyRooted, referencing the level that’s trying to unload.