I created a simple UI library that allows you to create Widgets like resource bars and skill buttons panels without much effor in C++. All of them are skinned through Slate Style assets and easy to tweak.
Library was created in a form of separate, independent module so if you’re interested in creating custom modules you should definitely check it out ; )
Heres just a simple example of how your UI can look like using this library:
UMG wont replace Slate, it’s a visual editor for it.
Sure, it will be much easier to create basic menus with UMG and I’m sure it will be more than enough for most of you. But if you’re looking for some custom/more complex widgets you will still have to code them.
So there is no reason to turn your back on Slate declarative syntax (yet:>).
I’ll be improving my library to create “UMG version” of resource bar and skills panel in the future so maybe then it will be more attractive than raw C++ ; )
But, is your skill panel supporting drag&drop ? To equip any ability into any slot at runtime ?
It looks to me like a lot of logic have gone into slate to support abilities.
I have something simliar, though in my case, slate only display abilities, everything else is handled player controller.
You can check out my github repo for implementation with Drag&drop. It’s currently going to be refactored to be more similiar to inventory, but idea is here.
I’m honestly not sure how viable would be making it into separate module. It’s honestly (at least in my case), very specific system, dependant on other system (like actors, and components), to actually activate and get data from. Trying to abstract that to be usable by anything could prove to be more trouble than it is worth.
Though, good luck! Waiting for updates, if you come with some nice solution it would be nice to see it!