Search Unity

Resolved When Will UI Toolkit Have Feature and Performance Parity with uGUI?

Discussion in 'UI Toolkit' started by SmilingCatEntertainment, Aug 26, 2022.

  1. SmilingCatEntertainment

    SmilingCatEntertainment

    Joined:
    Jun 8, 2013
    Posts:
    91
    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?
     
    mandisaw and soleron like this.
  2. etienne_unity

    etienne_unity

    Unity Technologies

    Joined:
    Aug 31, 2017
    Posts:
    102
    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.

    Hope this helps!
     
  3. MaskedMouse

    MaskedMouse

    Joined:
    Jul 8, 2014
    Posts:
    1,092
    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.
     
    mandisaw, pm007 and bdovaz like this.
  4. bdovaz

    bdovaz

    Joined:
    Dec 10, 2011
    Posts:
    1,051
    The truth is that I am quite disappointed by all this.... The first mention in the UI Toolkit documentation dates back to 2017.1.x:

    https://docs.unity3d.com/2017.1/Documentation/Manual/UIElements.html

    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.

    We have to go to version 4.6 of November 2014:

    https://blog.unity.com/technology/4-6-is-released-with-source-for-ui-system

    Since that release there have not been many significant changes other than bug fixes, performance or minor changes.
     
    pm007 and andyz like this.
  5. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,269
    What?! Not sure the docs or some of the other Unity folk are making this fully clear.
    This is a very long development job.

    Other Unity person
     
    Last edited: Aug 26, 2022
  6. soleron

    soleron

    Joined:
    Apr 21, 2013
    Posts:
    580

    What do you expect them to say?
    That they are working for so long on this and it is not even fully usable?

    Smaller teams than Unity create an entire engine in 5 years.
    Unity can't even complete a UI system in that much time.
     
    CyzerStudio likes this.
  7. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    1,231
    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.
     
    optimise likes this.
  8. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,269
    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.
     
  9. uDamian

    uDamian

    Unity Technologies

    Joined:
    Dec 11, 2017
    Posts:
    1,231
    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:
    https://docs.unity3d.com/Manual/UI-system-compare.html

    I think some (Unity folks or users) will still suggest UI Toolkit for runtime is because:
    1. 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)
    2. we do support mixing uGUI with UI Toolkit for runtime UI, so you could start using UITK for some parts of your UI
    3. 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.
     
    MousePods and LorenzoValenteTBS like this.
  10. mitaywalle

    mitaywalle

    Joined:
    Jul 1, 2013
    Posts:
    247
    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
     
  11. DavidNLN

    DavidNLN

    Joined:
    Sep 27, 2018
    Posts:
    90
    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?
     
    bdovaz likes this.
  12. Doomchecker

    Doomchecker

    Joined:
    Apr 5, 2021
    Posts:
    109
    We also would love to know if shader support is coming for Unity 6?
    Thank you :)
     
  13. antoine-unity

    antoine-unity

    Unity Technologies

    Joined:
    Sep 10, 2015
    Posts:
    780
    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 ?