I have found unreal’s basic ui editor to be fine.<p>Unity is, in my opinion, just a poorly managed company with a good product in spite of it. They’ve failed to deliver on many things and the engine has glaring weaknesses, e.g. no networked multiplayer built in. I would bet on the engine generally getting worse over time as management tries to push non functioning new stuff.
Unity will never have halfway decent audio, networking, or ui; and not for lack of trying.<p>The problem is that the one size fits all approach that made then successful falls far short of ideal in areas where there simply isn't a good general case for all of the possible use cases of unity.<p>For UI, is because no single approach is suitable for all possible combinations of glance, grasp, touch, gamepad, mobile, PC, VR, adaptive web, and with all possible projections and rendering approaches. There may be some commonalities, but no package is going to be great at all those things.
I'm building a graphics framework based on polygons set into a honeycomb (doesn't have to be a hexagonal honeycomb [0]) - basically you specify a coordinate system, then describe polygons as paths along those coordinates, and then embed text and media within those polygons (flowing the text, clipping the media) -- especially excited about flowing text around arbitrary paths (like you can do in Inkscape/Illustrator but in 3D)<p>I'm targeting HTML/CSS because it's what I understand, but always imagined I could use the same markup to render in VR / game engines. It would be valuable to me if you described what primitives you expect Unity to give you, and how you wish it worked. Sorry if this is hijacking the thread since I don't have the answer, but I would love to have the answer eventually :)<p>[0] <a href="https://en.wikipedia.org/wiki/Convex_uniform_honeycomb" rel="nofollow">https://en.wikipedia.org/wiki/Convex_uniform_honeycomb</a>
As you dive deeper into Unity, you realize more and more flaws. They promise the world, but only deliver marketable features rather than improving what they've got. The UI Framework is just one of those things.
Some history: years ago someone at Unity got in love with one of those 3rd party assets, NGUI (if I remember correctly), they started reproducing it inside the engine and realized there could be problems of interest, so they contracted the asset developer, but relegated him to do boring stuff. The guy got depressed and left the company.<p>Having worked with the older GUI system I actually like what they have now. But I'd have prefered them to adopt CSS.<p>Now they bought all those inhouse tools from Peter Jackson they will be busy for years to come plugin them. Someone's dream in Unity is making movies, not UIs.
The native UI framework and even paid assets are absolute rubbish. I've actively avoided working on these as I realised how difficult and unproductive it is. Especially Editor UIs and Property Drawers is the worst. They have so many projects on Preview (like their supposed new UI system) and has stayed like this for years... disappointing. I've thought on switching to Unreal for long time but never went with it knowing I have to learn C++ too and also Unreal feels very heavy compared to Unity. Some might suggest something like Godot but these kind of engines are still nowhere near the same level as the two giants and their asset stores are either non existent or at infant level. Marketplaces are important for me.
I'm glad I'm not alone with my frustrations over Unity. I feel like Unreal is clumsy as well for new developers, so it's a choice between which shortcomings you prefer. Can't wait for a new engine to fill in the gap.
multiple reasons<p>- it's hard to make declarative UIs with C# (recent versions try to make it easier, but it's still not there)<p>- making UIs is hard, making game UIs is even more hard because there is no rule to make a UI, it depends on many factors (art style, game genre, platform you target, input you support)<p>- making something customizable, serializable and performant is very hard<p>you are better making your own that suits your need, hence people rely on 3rd party solutions that exactly solve their use case