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.