Search Unity

Question UI Toolkit - Suitable for cross-platform production?

Discussion in 'Multiplatform Dev Blitz Day 2023 - Q&A' started by mandisaw, Jun 21, 2023.

  1. mandisaw

    mandisaw

    Joined:
    Jan 4, 2018
    Posts:
    81
    Just reviewed the 2023.1 rundown on UI Toolkit, and it still lacks some key features. Seems like it's potentially worthwhile on mobile or web, with few/simpler screens, but not for multiplatform projects with more screens/more complex UI needs.

    Are default-only materials, world-space UI, and fragile string-based references (UQuery, bindingPath) here to stay, or are they something that can/could be changed down the line?

    Along the same lines, can we get some performance-guidance as to when UI Toolkit performs better/worse versus uGUI, with an eye to desktop vs console vs mobile?

    This forum thread (https://forum.unity.com/threads/testing-performance-between-ui-toolkit-and-ugui.1060793/) offers some insight, but a blog post, or addition to the comparison page in the Manual, would be great.
     
  2. antoine-unity

    antoine-unity

    Unity Technologies

    Joined:
    Sep 10, 2015
    Posts:
    780
    Hi, I am an engineering manager in charge of UI Toolkit.

    You are right that UI Toolkit lack certain features and does not come with a comprehensive performance-oriented documentation for Runtime UI. This is because it is still in development and only offered as an alternative to uGUI.

    Regarding your questions about what can be changed or added later:
    - Providing custom shading capabilities is on our radar, although we intend to review exactly the best way to do this. It may or may not be through custom materials.
    - World Space UI is definitely a feature we intend to add, it is very high on the priority list
    - string-based references / UQuery are here to stay but we intend to make experience closer to what you get in Unity with references that can be dragged around and don't break when the source object is renamed.
    - Data binding for Runtime was just introduced and makes it friendlier to manage property paths.

    Regarding the performance profile of UI Toolkit, we consider that baseline comparisons to UGUI and performance guidelines and tips are a must-have to be able to make UI Toolkit the default, recommended UI system for Unity. We're also mindful of the specifics of different types of platforms, especially mobile, and intend to reflect this in the documentation.

    In the next few months we will more than likely publish a roadmap update to state our current priorities, similar to what we have done end of last year. You can keep on eye on the UI Toolkit forum to follow along.
     
    MaskedMouse, mandisaw and karl_jones like this.
  3. mandisaw

    mandisaw

    Joined:
    Jan 4, 2018
    Posts:
    81
    Doesn't have to be custom materials - I think if there were a few purpose-built / platform-appropriate default materials, that would probably cover 95%+ of user needs.

    Awesome!!

    I heard about data-binding, but also heard it wasn't quite "ready for prime-time", so I look forward to future stability developments on that front.

    (checked out forum post) Looks good! I definitely agree that performance is a key hurdle to adoption. I have a CSS & XML web background as well as C# / desktop + mobile, so I think I'm the target demo for the UI Builder / UXML+USS approach.

    But if I'm going to absorb that tech-debt & learning-curve to retool for a totally new UI system, the value-for-cost across platforms & projects has to be crystal clear upfront (like with Input System). Thanks for the detailed reply!