[Closed] [4.4 Preview - Bugs & Feedback] A few UMG bugs and feedback
Hi there, Epic people at Epic! (If this should be in the forum instead of here, sorry! I'll gladly move it over.)
I have to say, UMG is amazing. I've been working with it for a while now and it's allowed my project to take leaps and bounds forward. There are, however, a few things I've bumped into that could use some work. I fully understand that 4.4 is a preview and UMG is at the experimental stage and as such is per definition not very reliable.
First off, direct simple honest bugs:
Next up, two bugs that are a bit more involved.
If you copy and paste something in the UMG designer, the editor has a good chance of crashing. If it doesn't, no offset data is copied and the element resets back to its defaults. Styles are retained, though.
If you copy and paste a button with a child textblock, you are unable to place or paste any more textblock elements on the same level as the button - if you try, it simply vanishes when you drop it. To allow you to place more elements on the same level, an editor restart is required. This also affects some other element combinations.
Ctrl+Z is very unreliable and crashes the editor half the time you try to use it. It's nowhere near as good as in the rest of the editor where you can step back pretty far, and it records almost every change you make. In the UMG editor, Ctrl+Z doesn't record nearly as much - in fact, it rarely works at all. To understand what I'm saying, try placing a few elements, editing some offsets and manually moving them around. Ctrl+Zing won't work very well if you're lucky enough to not crash.
For some reason, all functions associated with checkboxes are set to protected and can't be accessed. If you bind a function to the checkbox state, it refuses to change from its undetermined state, and you can't pull the state from the element anywhere else in the graph.
Other elements such as editable textboxes are totally fine and work as expected.
This I'm not sure if it's a bug, or just me being stupid. If I wanted to populate a ComboBox with strings read from an array, there's no apparent way to do it. From the designer panel, the elements only show assets from the Content browser and I found no way to assign a string to an object within the event graph.
ListBoxes are also not affected if you assign a style to them - they remain in their default state. ComboBoxes lack a way to assign a style entirely. There's also no way to change settings for the text inside these two elements (font, colour, size, etc)
Now for some general feedback on improvements I'd like to see. UMG is amazing so far, but there'll always be something, won't it? ;)
Something I think UMG really needs is a way to dynamically resize or reposition the UI elements depending on the rendered resolution. If this is already a thing, it needs to be made waaaay more obvious - I haven't yet found anything that can do this properly! Something that would go a long way is a way to access offset values of the different elements (buttons, panels, etc) from the event graph, as well as a more direct way of getting and setting the resolution used by the game. Console commands work, but it'd be nice with a more direct approach (RequestResolutionUpdate node, anyone?)
Moving on, the widget preview desperately needs a grid/element snap feature. Snapping elements to their parents like you do in VS when developing desktop apps is a godsend and allows for much quicker prototyping and a nicer workflow. In VS, the elements snap with a bit of a margin - I would absolutely love to have this.
I'd also like to be able to select multiple elements (either from the tree view or in the preview) using CTRL. While moving an element also moves its children, it would be really nice to be able to move elements on the same level around in relation to each other.
It would also be very useful if Canvas Panels (or elements in general) could have quick hide/show buttons in the treeview, similar to the eyes in the Scene Outliner. When making multipage menus, I have to set the actual visibility of the element instead of being able to simply preview it (i.e, only in the editor), which is a bit of a hassle. More eyes for the UI god!
In Layout Data->Offsets, the Left/Top/Right/Bottom options are a bit confusing. Left and Top appear to move the element in relation to its parent when it has one and the Bottom/Right appear to affect scale. When on the root element, they seem to swap meaning every now and them. I would prefer having more literal offset values and an actual scale section instead, but might just be me.
Closing off, UMG is fantastic and I look forward to working with it in the future. It's a very powerful tool, and a big thank you goes out from me to the Epic team for making such a wonderful engine.
The question has been closed Dec 01 '14 at 07:09 PM by Stephen Ellis for the following reason:
The question is answered, right answer was accepted
Wow, thanks Jargon - this is precisely the kind of feedback we really need :)
Infinite loop - can you make some repro cases or post the assets? There may not be much I can do depending on what was involved, but I'll be glad to take a look.
Standalone - not seeing that repro locally, do you have something I can test that has that issue?
Fullscreen size - It's poorly named, need to change it to viewport size, but basically, if it's non-zero, it will be the size of the widget in absolute mode when added to the viewport. Otherwise it will be sized based on the widgets desired size.
Open Level Crash - Will look into making that better. Thanks!
aspect ratio - Yup, that's an in-progress feature :D Mostly just wanted to get the bones down on paper so people could see where I'm headed.
Using materials - Make sure the material is Emissive Only and is Marked for use in UI. See the screenshot here in the Material section, https://forums.unrealengine.com/showthread.php?25533-UMG-Documentation-for-4-4-Preview
Copy / Paste - Yeah I fixed a bunch of bugs there that should be in the next preview or final 4.4 build. The slot data not being preserved is a known problem, will definitely be fixing that soon. For the button case, try select the parent object, it has this issue right now where depending on what is selected, that's the parent that it attempts to insert the paste into, but if you have a button selected with existing content, it can't paste it into the button. I've thought about making it go up the hierarchy and find the first parent that will accept it. Not sure, needs some trail and error I think to find something expected/reasonable.
Undo - Yup buggy needs work :)
Checkboxes - Woops. Thanks, will get all that sorted out.
ListBoxes and ComboBoxes - Yeah they're kind of a mess right now, the underlying slate object are very complicated so not sure yet how to best expose them to Blueprints. The Combobox is probably going to become a StringComboBox and then we'll solve the more customizable combobox and listbox and tile view boxes in the future.
Dynamically resize or reposition the UI elements depending on the rendered resolution - there are future improvements coming in this area. I've got a Scale Box control I've created for the next version that can auto scale up or down but maintain aspect ratios of content. Good for text you need to fit a predefined area and background images of menus and such. For widgets added to the viewport you can adjust their Position, but not their anchor, I'll work on improving that. Once The anchor are just normalized coordinates of the widget, so I can set something to 0.5, 0.5 to center it (assuming the alignment (aka pivot) is 0.5, 0.5 as well. Although you can currently do this now, but only inside of a widget, you'd need to throw down a Canvas, and then you could query and modify the state of a Widget's Slot property at runtime. You just have to cast it to a CanvasPanelSlot, that's the true own of all those Layout properties on a widget contained in a Canvas.
snap feature - Yup. You can see where I started that when you use the Cross arrow drag handle it will show snap margins, just doesn't snap.
select multiple elements - Yup.
hide/show buttons in the treeview - Yup.
Data->Offsets - It needs a much better display in the canvas view, the problem is depending on your anchor points it means Position/Size, or it may mean Margin from anchors. The details panel needs to morph to show the right information of what they currently mean. Yeah I wouldn't try to use them for Scale, scale is coming in another form, you'll be able to apply a general transform to all widget soon as a render transform, so you can do translation, rotation and scale way easier.
Thanks again for all the feedback and bugs Jargon.
answered Aug 04 '14 at 05:44 PM
Nick Darnell ♦♦ STAFF
Follow this question
Once you sign in you will be able to subscribe for any updates here