What is your main UI System for Unity Development and why?

  • Unity UI Toolkit
  • Unity UI (uGUI)
  • Unity IMGUI
  • Other (please comment)
0 voters

In my last Unity project I used a mix of 2 UI Systems:

  • Unity UI (main);
  • UI Toolkit (specific element — color picker).

This approach is pretty flexible, and Unity 6.3 allows it.

What about you?


P.S. I closed the poll after 2 weeks to fix the reflection of the data for the beginning of 2026. Here are another stats from my LinkedIn:

I use IMGUI for where I don’t care about scaling issues across different resolutions. But where I need a resolution independent GUI I use regular gameObjects on a second camera. I lost interest in Unity’s packaged UIs. I’m not a fan of packages in general as they can get a little bloated. Bloat will probably be Unity’s downfall in the end. Only a matter of time before a new startup comes along with a new streamlined engine that makes 300k builds when Unity Tech will be insisting that 300GB builds aren’t an issue.

Dropped uGUI for UI Toolkit a long time ago.

No idea why you’d even bother with IMGUI any more unless you hated yourself.

3 Likes

IMGUI is by far the easiest and fastest thing to bring up trivial UI, and by that I mean “put a score and some hearts in the upper corner, put a few buttons in the center, perhaps analog touch joysticks during play.” Since that level of UI covers about 95% of my personal game UI needs, that’s where most of my personal code has been in the decade and a half or so of Unity.

Aspect ratios and pixel densities are where people first begin to hate life when using IMGUI, but even that is pretty easy once you have a few helper functions to fab out rectangles and resize GUISkins/GUIStyles to match pixel densities.

Nowadays I try to push myself to UGUI more for that level of game (trivial arcade game), but even then I still use a ton of pre-made IMGUI items that have the important advantage of Just Working As Originally Designed™.

Anytime I use UGUI, I use my Datasacks package for at least 99% of my UI hookup needs, making complete UI change-outs easy and often code-free. All my games now have separate “UI” scenes that just additively load in depending on target.

For “real world scale” UIs I still reach for UGUI because in 2024 my team attempted to use UI Toolkit (circa Unity 6000.27) and it was a complete disaster. Almost every common thing I tried to do in it required half an hour of googling and experimentation, and then it wouldn’t work, or Unity’s own UI would choke, or I’d have to reset layouts, close Unity, reimport, just a mess. I don’t have time to debug that! I can see based on forum traffic that things have gotten a bit more stable in UITK land, so perhaps in another year I’ll reconsider it for new projects.

For the day job I’m maintaining two PC games with highly complex UIs. One game was written using a heavily modified NGUI (remember NGUI?), and the other game uses a differently-modified NGUI that has parts of TextMeshPro (the old package version!) grafted onto it. It’s pretty exciting, but it is incredibly well-behaved.

And most other commercial Unity games I’ve worked on were all UGUI, moderately-complex casual mobile free-to-play stuff. I always encouraged my artists to level up to technical artists and without exception they were able to shine in UGUI and consistently check in usable art prefabs and scenes that connected just fine with my code. I don’t have confidence I could do that in UITK yet, but like I said, I’ll look again in a year.

2 Likes
    void OnGUI()
    {
        GUI.Label(new Rect(Screen.width / 2, Screen.height / 2, 200, 50), "I love Zulo3D");
    }

Im curious, I always wanted to get on with NGui, i loved the fact it could do a lot.. except every time i tried i broke it.. It always made me sad because i never got to enjoy it

ive had some luck with uitoolkit but ugui is just 100 times easier to work with for beginners and when tired and you do this for fun..

I am using uGUI but plan to switch to UI Toolkit someday maybe I hope.

Despite the monumental time in dev, UI Toolkit is still not the recommended runtime UI system it seems, though is “intended to become”.

I was late to ugui because I worked for a long time with NGUI which had some nasty flaws imho. Anyway ugui was similar but more robust and integrated. It’s main initial flaw is it appearing huge in the main scene rather than being something you switch to for editing! This is still laughable! But within the game view the integration is very useful.
The lack of styling and data binding are obvious too.
All this should have been an easy fix, to switch to such a separated, distinctly different approach like UI Toolkit is frustrating and a steep learning curve, so I am not surprised so many are still on ugui, it’s a big risk for me to change and a quick play with it was not fun, I would rather the missing elements had been added to ugui.

3 Likes

once again UGUI after switching to UITK last project then going back to UGUI for current.

Very pleased to see Unitys recent acceptance that the two systems solve different problems (also arguably for different teams) and that we can all just move on building awesome things.

Choose your weapon. Or dual wield. Move forward.

1 Like

I’m still UGUI all the way. I’ve tried UITK a few times, and will continue to take a look every now and then as it evolves, but from my perspective the two systems solve different problems and excel at different things, and UGUI is almost always a better fit for what I’m doing.

But the main thing for me is that UGUI is much easier to modify (but still not perfect in that area). When there is a deficiency, I can go in and fix it in ways I cannot with UITK. For instance, while UITK is much better at “theming” by default, it’s also the case that many people have built many theming systems for UGUI.

As an example of that, my own own Flexible Image solves many of my own UGUI bugbears:

  • Allows moving UI elements without disturbing children
  • Composition of multiple “quads” in the same component to reduce hierarchy bloat
  • Can be driven by shared scriptable objects, allowing easy theming.
  • Filtering of input hotzones by shape
  • Can expand input hotzones on mobile (eg. a small element is fine for a mouse, but can be difficult to press with a finger)
  • Can change that “once you’re in the Selected state you can’t transition back to the Highlighted state” default behavior that can make UGUI feel so clunky with navigation…
  • …When using the animation system built into the component, which itself solves many of my UI animation bugbears.

But if you use UITK and run into bugbears, it feels like you’re mostly just SOL.

UGUI certainly isn’t perfect though. I’d hate to see UGUI be deprecated in favor of UITK, but theoretically I might not mind if it were deprecated in favor of a better UGUI-like system.

My main fear is that UGUI ends up stagnant and supported only because “because people will riot if we deprecate it,” but 100% of development effort goes into UITK while UGUI is put into pure maintenance mode. There is still a lot of room for improvement, while UITK will never be a proper replacement for the areas UGUI excels at.

2 Likes

Alas it already is… they moved UGUI under Legacy, prematurely in my opinion.

They just announced in the last Unite they would resume development of UGUI alongside UI Toolkit.

3 Likes

imgui should be dead and you just use ui-toolkit now, it’s been in development for like 7 years now?

ugui should also be dead but game ui’s and runtime with extensions its still just easier to do things, extensions like new widgets ui and better ui and some others for flex box support.. it’s messy but then the alternative is an even more a pain for doing anything more than the basics…

ui-toolkit, been in development for years and it’s still not great, I hestitate to even bother using it for a game ui, given the limitations and features that don’t exist still. It seems it is still only good for editor tooling and even that is a hassle. Everything about it just feels unfinished and overcomplicated still waiting on features you’d expect to just be there already by now. Shame it’s still like this the ui-builder has potential, the ui-debugger also has potential.. I mean it’s sorta works until you find it doesn’t or the bugs or the lack of things that should work aren’t there, ui-debugger you can’t even undo changes let alone make changes to things and get a list of all that was changed to go apply those style change etc things that you can do in some browser web dev tools.

When you see third party tools that try to make working with it easier its like the main developers don’t even really build anything with the tools to see the issues and where improvements can be done. A common occurrence with everything Unity does really. The forum is scattered with suggestions for features, bug reports etc Unity project development is seems incapable of delivering things that are needed and wanted. Unite events where they’ve got bunch of services I don’t care about, while core tech features seem to progress on a timeline for decade long development :frowning:

1 Like

This is called eating your own dogfood.

It’s absolutely beyond maddening. I’m probably the worlds most ridiculously-rabid Unity3D tankie… I love this engine!

But there are daily bugs that require source control reversion to get out of (mis-indexing in Addressables for instance; no idea what non-source control people have to do?), the UX for other modules is abysmal (ProBuilder and Localization)… I get that they are working within a tight API as far as making editor Windows in C# land, but still, they have the back-end engine, they can expose more and better integration if they really wanted.

And now we have UI Toolkit. Just the forum-post descriptions of the types of bugs happening, the broad classes of failure, it just makes me shake my head. So many of the bugs I see reported should not even be possible with proper data design in the first place, not duplicating data, not making and maintaining lists of lists of lists of lists, lists that get out of sync. Ugh!

ugui is easy and can see results instantly.

just getting ui toolkit to display preview properly in the editor and different window size was pretty complicated.. *but then again have only touched it few times.. but would be nice to have it ready to use out of the box.

Other: Noesis GUI (Indie license)

Game Screenshots

1 Like

OneJS fixes a lot of my gripes with UI Toolkit. Most folks don’t seem to realize yet. UI Toolkit with OneJS is basically a better form of React Native (but actually supports stylesheets and more platforms). Being a mesh+shader-based UI system, it’s probably also comparable to Zed’s gpui.

Currently I agree it’s not designer-friendly yet. I’d say give it a bit more time for community toolings to develop around UI Toolkit. After all, it is based on proven tech and will be future-proof since the Unity editor itself is on path to be fully replaced with UITK.

Runtime UI wise, the Unity 6 cycle has been solid: worldspace UI, SVG support, and USS filters all landed. UITK is worth a serious look now. I’ve been recommending this stack to both game and app devs.

1 Like

I closed the poll after 2 weeks to fix the reflection of the data for the beginning of 2026.

Added another bunch of stats from my LinkedIn in the 1st post .

1 Like

One lonely vote for IMGUI.

1 Like

And it wasn’t even me!

(But I actually did just roll some IMGUI code this morning for a semi-sticky lateral aircraft attitude control slider for one of me games… the core IMGUI stuff is still ultra simple, but getting the screen metrics to behave both portrait and landscape is where the heavy lifting goes, but as I noted above I have a ton of helper funcs to smooth it out: it becomes mostly just a hacking-recipe situation with lots of Rects…)