Is the “Umg” the future of Unreal engine’s UI ?
Does Epic have a plan of making slate easier to use ?
UMG (Unreal Motion Graphics) was meant to replace Scaleform, in order to create widgets and HUDs that scale dynamically in different screen sizes.
Slate on the other hand is the name for Unreal’s custom UI programming framework. The editor interface is mostly built using it. The preferred method to make in-game UIs is UMG.
Please take a look at using slate in a project if you want to incorporate it into your project.
I don’t think there are plans in order to make Slate easier to use. It was just not meant to be used aside from the editor. Plus, UMG has blueprint support…
Thanks for your reply.
But for the moment,the “UMG” is not as powerful as I need.
UMG is the easier version of Slate to use - it’s entirely built on top of it.
Except UMG is stupidly bugged.
Its not bugged, using slate as base for umg is bad. All problems with umg have source from this fact. as a result UMG is overcomplicated for what it should do.
Nawrot theres tons of bugs. There’s tons of more links and posts. You should try researching before making dumb comments
Keep it civil. Tone down the language.
Are there any plans to overhaul this complicated, old fashioned UI? Can’t find anything on Trello.
UMG is not old fashioned, scaleform WAS…
Just talking about C++ programmer-friendlyness.
There is no set of common widgets in Slate, which modern user interfaces typically implement. Try to implement even a simple button in the details panel, or a dynamic array of strings in the form of a menu. It’s not possible without doing heavy customization. The PostEditChangeChainProperty also is not the simplest to use.
I worked around all this and I’m happy with the power of the engine, but the invested development time to get simple things done is heavy.
I researched, that stuff. You calm down your nerd rage. My wording was maybe off, but i hoped you get my idea.
Bugs in UMG are mostly because it uses slate, there is lots of things that probably cannot be fixed without rewriting slate.
So UMG is not bugged, slate is. I wish epic made new gui that is designed for games (not for unreal editor).
For me the slate framework is quite awkward to use.
The most game logic is written in C++ in my working project, so using UMG is quite complicated. And if I want to use UMG, i have to code additional tons of function, drag tons of lines, and finally it will make the blueprint graph like a spider web.
My only choice is to use Slate. But this framework is not friendly to use. I spend a lot of time just to make my widget locate in the right place! It’s not straightforward, and you have to recompile the entire project to see if the widget make the change I want. And the Slate even can’t support relative layout or different kinds of layout.
Why Epic Game can’t build a UI system like Android or Qt … ? The layout information is stored outside of the program using XML or whatever data structure you like.
So UMG is just a wrapper on top of Slate. Personally, I really like it because it allows me to have easy access to all game data, while at the same time have compatibility with Slate UI. Having to write something in XML could be quite bad for game development because so much depends on the current data. The widget outliner is also nice, and you can pretty easily achieve what you want. I really like that they went with minimalistic approach so there are not 100 different elements, everything is composed of small pieces. Personally, I used other systems and I really like what they have done in a rather short period of time. Also, since 4.9, I have almost no stability problems. Once you know UMG, you can achieve desired results pretty easily (that is compared to other APIs where Googling is a must).
This is just an opinion though, I am not UI expert but I have done some fancy stuff in UMG.
You know I think Unity’s Ugui interface components are broken and not upto scratch in comparison to windows form gui stuff…
but threads like this make me think Unreal’s isn’t much better? worse? I’ve not got testing it much myself only seen a few videos…
can anyone comment?
I’ve wasted enough time making ugui components work better, engine switching (maybe for future project) only to find not so good gui components here would suck aswel.
As someone who’s written ~25,000 lines of Slate code](Helium Rain - A realistic space opera for PC - Work in Progress - Unreal Engine Forums) : I really really want Slate to stay, as a C++ interface, with the full control it currently offers. It’s not friendly, it’s not easy, it’s not fast to iterate with, but it’s brutally efficient to work with if you’re making complex UIs. Much much much much better than Scaleform, which isn’t much to say anyway.
If you’re making a simple UI, say a shooter HUD : UMG is probably the way to go. Easily skinnable, fast to work with and it doesn’t needs a lot of game data anyway.
if you’re making a RPG, well, the investment in making custom Slate components can be worth it. You really don’t want to have heavy gameplay interaction in Blueprint.
I’ve been working with various UI frameworks for the past 15 years and Slate/UMG is actually very nice to use. They’re obviously work in progress, but TBH, I’d rather work with them than on UIKit @Apple. Slate and UMG both have their places in a project - setup data & links between widgets in UMG, create abstract controls & logic if needed in Slate. Any code organisation issues are usually caused by programming abstractions used and not the frameworks themselves. The XML stuff you see in other frameworks is usually compiled to binary anyway - think Slate, just different brackets and different output format.
What both UMG and Slate probably need most are tutorials on how to use them best, so you get nicely organised & maintainable UI’s with minimal effort.