UI Toolkit is missing so many important things that keep me from migrating to it - it would be awesome for many of my use cases (moddable styled UI), but the lack of critical features that I already use in uGUI (world space rendering, compositing with 3D objects, codeless animation facility to name a few off of the top of my head) keep me from even considering it as a serious alternative.
When will UI Toolkit reach feature parity with uGUI?
Hi there - good question. We’re still recommending uGUI for runtime UI today, and it will remain the recommended solution in 2023 as well (see this manual page for a comparison and general guidance on when to use UI Toolkit or UGUI).
Our focus is on Editor UI currently, as we need to transition the core Editor workflows to UI Toolkit (setting the table for better localization support, more complex tooling, and accessibility).
We’ll resume work on gaming (vs authoring) use cases in the 2024 release cycle. World-space rendering, compositing, custom shaders, and interoperability with Unity’s animation system are on our roadmap.
That said, foundational work in UI Toolkit improve the runtime support every release - though the impact is limited to screen-space overlay UI. Performance improvements, new styling features, vector drawing API (2022), data binding (2023), are all UI features available at runtime.
Finally, if your project requires a blend of screen-space and world-space UI, you can mix UGUI and UI Toolkit - they can work together. See this manual page for more details.
This is kind of something I feared of. UI Toolkit is great, but at the pace it is going, it takes a great amount of time for it to be the recommended solution.
I had hope back in 2020 to use UI Toolkit for runtime in late 2021. But just at the pace it is going and from the response here. It almost looks like it won’t be until somewhere 2025 (or perhaps even later). Which is still years away.
Everything just gets pushed back more and more.
Things that I’m looking out for (from the roadmap) are:
Generic UI data binding
Additional UI style properties
UI Masking
Grid Layout
World Space UI (for XR projects)
uGUI isn’t performant and is lackluster feature wise in some parts as well. (Data binding, Softmasking, Shader Graph support, styling options, theming etc)
Many times you are dependent on other ppl’s packages or often have to make it yourself. Rather than out of the box support from the engine what you’d consider as basics.
With uGUI you have to go through many hoops to make it performant or to make it look good.
I don’t like to complain, but UI still is one of the pain points of Unity. uGUI is an improvement over IMGUI but then just stopped developing new features. As if it were ‘done’. UI Toolkit is a big improvement over uGUI. But it’ll take a long time to develop.
We are in 2022 and we will still have to wait until 2025 minimum to have an LTS version with runtime functionality.
Not to mention at least reaching 1:1 parity with uGUI which should be a priority in order to adopt it as soon as possible.
I know it is not up to you because you have the resources you have and the priorities you impose but I see that a system as powerful as this one, that it takes 10 years to be able to use it in runtime with 1:1 parity with uGUI…
Historically, Unity has always dragged up a lot of trouble with the development of interface systems, like the jump from IMGUI to uGUI.
There’s a small amount irony here. One major reason we’ve needed more time to ship new features is because too many users decided to start using UI Toolkit. We have to slow down, address existing feature feedback, and fix bugs.
The point is, the framework is usable for some users, enough to ship games with it. We obviously strive to expand that user base and address more needs and workflows, but now we have to balance between existing users and new users - and we don’t want to abandon either. So ya, things are taking time - hence our continued support, and even recommendation for some use cases, for IMGUI and uGUI.
The problem is the mixed messaging - you are not communicating with a shared message, why not? @etienne_unity gives a clear suggestion that uGUI is still recommended for runtime - others are less clear, or even suggesting UI Toolkit.
I’m sorry if sometimes you’re getting mixed messaging. But to be fair, our main Manual page on UI clearly aligns with what Etienne echoed - use uGUI for runtime:
I think some (Unity folks or users) will still suggest UI Toolkit for runtime is because:
for screen-space, and certain use cases, it’s a perfectly adequate solution (real games are already being shipped with pure UI Toolkit for runtime UI)
we do support mixing uGUI with UI Toolkit for runtime UI, so you could start using UITK for some parts of your UI
Unity’s primarily investing in UI Toolkit as the future of UI tech, so if you have a long running project, it might make sense for you to bleed a little now with UI Toolkit but avoid having to redo your UI later
So, it’s not 100% “don’t use UITK for runtime, you will fail”. It depends. I think we recommend uGUI still only as a blanket statement that is valid for most users.
Hello! UI Toolkit has some benefits, but i wanna mention, what defently stops us from using it at all for runtime:
no world-space 3D rendering. We use Camera with perspective + World Placement to render angled minimap)
no custom shaders. Some ui particle effects used for motion design use additive, some overlay ui use multiply. May be if there no ‘custom shader’ but some selection for blending modes can be implemented? I think it would big step forward
Hya, it would be nice to get an update on that statement, we are fast approaching 2024, are the plans to start releasing shader support, screen-space overlay ui and more for the next release cycle are still on?
The roadmap detailed in this earlier post from Etienne is continuing as planned.
The data binding feature is releasing as part of Unity 2023 / Unity 6 (look for the announcements on this subforum and upcoming Unite talk). This version also bring some performance improvements, a new UXML serialization system, additional UI Builder extensibility and new standard controls (multi column versions of TreeView and ListView).
The next version of Unity (i.e. Unity 2024) is where world space and custom shading should become available (both are in development but not done yet). To clarify further, any feature still in development at this point will not be part of Unity 6.
By the way, runtime screen space overlay support has been supported since Unity 2021, or maybe I am misunderstanding ?
Sadly, it appears not to be the case in 2025 either. Which is a crying shame, there are real use cases for shading in the UI. Resorting to RenderTextures is a crime.