UI Toolkit development status and next milestones – February 2025

Hello everyone! The UI team is here to share a new roadmap update!

But first, a quick introduction :waving_hand: - I’m Hersh, the new Product Manager for UI, taking the torch from Benoit Dupuis (@benoitd_unity) as he moves to an exciting new role within Unity Engine. In my previous years at Unity, I helped deliver cross-platform experiences like our Megacity Metro sample and the Competitive Action multiplayer template. Having worked closely with developers, I understand the importance of building engaging and responsive UIs. I’m thrilled to continue this team’s amazing work and help shape the future of UI development in Unity.

:megaphone: Let’s Connect! I’d love to hear directly from you about your experience with UI Toolkit in the editor and what improvements would make your workflow smoother. I’m setting aside dedicated time slots for 1-on-1 conversations - this is your opportunity to help shape the direction of UI Toolkit. Please DM me with your preferred time slot, and I’ll follow up to confirm (limited availability!).

Available times (EST):

  • March 10, 2025: 10 AM, 12 PM, 2 PM, 4 PM
  • March 14, 2025: 10 AM, 12 PM, 2 PM, 4 PM
  • March 17, 2025: 10 AM, 12 PM, 2 PM, 4 PM
  • March 21, 2025: 10 AM, 12 PM, 2 PM, 4 PM

Read on for our latest development updates, and don’t forget to comment below about which UI Toolkit feature excites you the most!

:star: What’s new in Unity 6?

Unity 6’s UI Toolkit introduces powerful new features that streamline UI development, enhance customization, and help you create dynamic, engaging, user experiences. Let’s recap the highlights:

  1. Runtime data binding: Connect UI elements with game data directly from UI Builder without writing boilerplate code. Create custom bindings and optimize performance for responsive interfaces.
  2. Expanded UI controls library: New additions include TabView and ToggleButtonGroup, plus buttons now support icons. The TreeView and multicolumn ListView introduced in 2022 LTS are now fully supported for both editor and runtime environments.
  3. Improved extensibility: Creating custom controls is now simpler with new [UXMLElement] and [UXMLAttribute] attributes, replacing the old UXMLFactories and UXMLTraits system. Custom controls can be easily integrated into UI Builder.
  4. Enhanced control configuration: New support for property drawers and decorators similar to the Editor Inspector, giving developers better control over UI element attributes and providing a more intuitive design experience.
  5. UXMLObjects for efficient data management: Define and manage serialized data directly within UXML files, enabling creation of reusable UI components with preserved data structures that can be edited visually in UI Builder.
  6. Advanced text and localization features: Optional text generator with full Unicode support, including right-to-left scripts and emoji zwj sequences. Seamlessly integrates with the Localization Package for multilingual projects.
  7. Streamlined workflows: New features include searchable control library and improved inline style management, allowing quick access to UI elements and better style control.
  8. Performance enhancements: Major improvements including faster event dispatching, jobified geometry generation, new Custom Geometry API, better layout caching for deep hierarchies, and optimized TreeView for large datasets.

For tips on optimizing content created with UI Toolkit, refer to this breakout session from Unite 2024.

Whether you’re an indie developer or part of a larger studio, these advancements in performance, workflow, and customization are designed to help you push the boundaries of what’s possible.

:graduation_cap: Resources to get started

If you want to get started with UI Toolkit, start by exploring our full documentation and tutorials, and stay involved in our Discussions community to gain inspiration from others and to share your projects.

You can learn UI Toolkit concepts with QuizU or explore a complete game sample with UI Toolkit Dragon Crashers (updated with DataBinding and Localization). Don’t miss the companion pieces to the samples:

New! Take your UI development skills to the next level with our comprehensive 6-hour intermediate course on Unity Professional Training. The course is structured in four modules, progressing from fundamentals to advanced implementations. Ready to start? All you need is a Unity ID and Unity 6 LTS installed!

:bullseye: Roadmap

We’re thrilled to see the growing adoption of UI Toolkit in Unity 6 and your valuable feedback as creators continue to shape our direction. Our roadmap remains stable and on track for the coming year as we continue to invest in the following priorities:

  • Define and edit style variables in the UI Builder
  • World-Space UI for games and XR experiences
  • Adding desktop support to the native screen reader API
  • Create post-processing style filters
  • Official support for vector graphics
  • Create custom shaders
  • Create and sequence keyframed UI animation
  • Official UI test framework

I’d love to hear which of these excites you most!:light_bulb:Share your thoughts below and we’ll be sure to provide more updates as they come.

:date: See you soon at GDC 2025!

We’re now preparing to preview new and updated features and resources targeted for the next release of Unity 6. We’ll be sharing more details about these projects at GDC 2025 coming up this March 17-21 in San Francisco, CA. You’ll be able to hear relevant updates across these key sessions:

:speech_balloon: Grateful for your feedback

We’re always so grateful for the feedback we receive from all of you – whether here on Unity Discussions or in-person at events like GDC. We’ll continue to carefully review your input for consideration towards our roadmap, and we’d especially like to hear from you now that we’re sharing more about our efforts with UI Toolkit.

As always, the best way to ensure your feedback is heard is by submitting and voting on ideas within our public roadmap page. Each card on the page can be clicked on to see details and voting options, and all feedback shared here is directly routed to the proper product teams.

We’re excited to hear more from you as you learn and work with UI Toolkit! Keep us posted on your UI creations, questions, and thoughts here in this thread / forum, the UI roadmap portal, or over on the UI section of Unity’s Official Discord. Until next time!

– Hersh

31 Likes

World-Space UI and custom shader should be top priority. We need equal support to unity ugui before complete switch before any newer feature

Also I wish I could have edit time support for screen space camera

I mean, this kind of UI presentation that float in front of camera

This can be only just edit time presentation in the scene, don’t actually need to be real screen space camera. It’s just a good QOL to edit UI along with the scene instead of separate window

19 Likes

For our team, it’s keyframed animation. We don’t use them everywhere in UGUI, but in some places, they are irreplaceable. It’s actually what convinced us not to migrate to UITK.

5 Likes

Hi Hersh,

Thanks for sharing the exciting roadmap update!

As a Unity UI user, my top priorities are:

  1. World-Space UI for games and XR experiences
  2. Create custom shaders with ShaderGraph
  3. Official support for vector graphics
  4. Create post-processing style filters

These features would significantly enhance my workflow and help me create more polished and engaging UIs for a range of applications and games. Looking forward to the announcement at GDC, and I hope you’ll continue sharing progress updates at least twice a year, if not quarterly.

8 Likes

Could you say anything about why world space UI hasn’t landed yet? I don’t understand why it’s more complicated than just rendering to a RenderTexture instead of the screen, but it’s taken you 5 years without shipping it so there has to be some blocker somewhere, and I’d love to know what it is.

The big next things that are needed are for sure better feedback support, to let the UI feel like a game UI instead of a web page. Keyframed animations, support for particle effects and some kind of support for 3D objects would be required to make UIs that are great.

20 Likes

There is discussion about world space UI here and it exist, just in experimental stage

More detail in other comment

2 Likes

@Thaina @msfredb7 @jGate99 @Baste Thank you for sharing! We know equal support to uGUI is what you need. As a result, we’re prioritizing these needs and taking the time necessary to ensure they work to your expectations.

4 Likes

The data bindings, which I criticized 2 years ago, somehow have gotten even more verbose and boiler-plate-y.

Please, dogfood your own stuff. You can’t expect people to write 24 lines of code/markup for a SINGLE field data binding.

This should be one or 2 lines, tops.

(admittedly, the scriptable-object-based baseline approach isn’t the worst (except for the checkbox-ticking parts, haha), but this amount of code should be the exact same for runtime bindings)

3 Likes

current state of unity is that they are in a period of transition to the new graphic engine, unified rendering or how is called, is complete new thing changing a lot of stuff on how the game engine works.

so it doesn’t make too much sense to improve the current setup with all the bells and whistles. why write all these new features twice, debug them, test them and the rest. waste of money and time. just invest into the future game engine and less on the older one that will be scrapped a few years after the new one is introduced.

I’ve recently started using UI Toolkit this January without knowing anything beforehand. I think it’s a great system with a bright future, assuming all the things from the roadmap are implemented.

What I’ve first noticed is that it doesn’t have native support for shadows, blurs, glows, and gradients. I know technically it falls under “Create custom shaders” but it would be nice to have prebuilt effects that we can apply as a style and quickly tweak on UI Builder. I’d rather not have to code shaders just for shadows and friends (or have to buy assets). These things give UI that final “oomph!” feeling of looking professional so I think they are essential to the feature set.

4 Likes

What is the plan for Grid Layout? I know that it has been in the under-consideration section of the roadmap since March 2021. Is this not a priority? It seems like basic functionality to get to parity with uGUI.

3 Likes

Your roadmap has been that way for multiple years with almost no change and no hints of any progress of half it.

Was the UI put on the back foot and left untouched or something? The GameObject UI system took half the time that UI toolkit has so far.

It’s near impossible to know when to start using the system for a project given how slow the progress has been.

1 Like

Bind a Button to a Command in UXML like WPF, Please

1 Like

The correct road for Unity should be to rewrite the UI based on the principle of All ECS, and the HTML CSS technology stack should be thrown into the garbage bin of history.

4 Likes

I don’t think it’s true to say it’s been twice the time of UGUI… UGUI took a looong time to arrive, and I remember starting many, many new projects with NGUI and saying “UGUI should be viable for the next one…”

My current project is, once again, UGUI. After using UITK for the last one I’ve gone back. I’d like to say that’s all because of world-space UI (which we had to do in UGUI last time so then we had 2 UI systems) but that’s not fully true. It’s about the fact we build “a game with Unity”, not a website.

One thing the new “webby” UI struggles with is that UGUI keeps getting better since the UITK initiative started. UGUI got a magic upgrade when nested prefabs landed (another system that took “forever”, probably because it was an immensely challenging problem that Unity iterated on and finally landed on something very, very impressive indeed.) So UGUI is now way better than it’s been at any point in its life, because all the things that used to be a problem with UGUI (e.g. composing your screens with a “design system” from lots of theme prefabs, with variants where appropriate) now work robustly. So things like “let’s make all the continue buttons green instead of blue” now work in UGUI.

Sure, stylesheets and selectors give you the same thing, and at runtime, but with a UI-specific data model.

Additionally, there are now (finally) good UGUI youtube tutorials by coding-competent youtubers that explain how LayoutGroups work and what the checkboxes mean, and the source code is available, stable and fully debuggable, whereas 5 years ago your best hope was repeatedly going “and then click this, and, oh oops, the layout’s collapsed to zero again, not sure why that is”. The layout engine for UITK is unarguably better, but as a non-web-dev I find implementing a complex layout (think strategy game stats) and having it look presentable actually takes less time in UGUI, although I’m willing to admit some of that’s because I’ve spent 13 years in Unity, 18 months in UITK, and in the limited web dev I do openly think css should be throw in the same “was that a problem or an itch” hole as Boost for C++.

Admittedly, UGUI is a very “gamedevs only who know the Unity Editor” workflow. If your main concern is letting your designers work independently in Figma and having a pipeline to integrate that, I can believe UITK is more efficient (but don’t know if that’s true in practice, and full disclosure my experience in large companies has never convinced me that doing more work in figma makes anything happen faster in the product… although it definitely means lots more prototypes that are’t in the product get presented and discussed, which can either make things move faster or not…)

The main problem for me that the new UI is struggling with is that UGUI keeps getting better and better without much (??any??) UGUI code changing, just because it’s built on the core of Unity (prefabs, sprites, shaders, drawing quads, the asset store), and those keep improving. Throw in great assets on the assetstore with integrated prefabs made of gradients, particles, feedback effects, animations and scripted tweens and getting up and running is super quick. Whereas making a simple dropdown list in UITK that doesn’t look like programmer art or the world’s worst wireframe is a time investment.

13 Likes

I see what you mean, but I also think using this setup with UGUI is extremely fragile. If a prefab breaks or loses it’s nested setup everything else is broken. I would prefer the webby way of using CSS/USS, it is more robust if it didn’t lack some pretty crucial things like world-space UI.

3 Likes

Just a general comment here from a developer that dips into and out of projects. TBH, I prefer UI Toolkit and it’s web-centric focus but as others have said the lack of world-space UI is a deal killer that prevented me from using it. Discovering I needed world-space UI later in a project was quite dissapointing.

What I’d really prefer is to ‘know’ that a new system was the standard, and would be supported forever. I’ll learn whatever I need to as long as I feel my work learning it will pay off in the long run. The concept or UI Toolkit building off of any HTML/CSS knowledge is great and what I’m talking about. What’s dissappointing is the slow development of it, and the deal-breaking lack of world-space UI which constantly crops up in AR/VR development.

Please, at some point focus on UI Toolkit and let people know that is the future and stable direction of UI development in Unity. I absolutely love that it can be used to design editor tools at the same time, so I completely agree it’s the correct direction to head towards!

3 Likes

Working on a 2d project, the lack of world space UI hasn’t been an issue for me (easy to fake it) but totally understand how it’s a show stopper for many other devs.

I’m keen on shader support down the line, though can live with out it. Hopefully it lands within Unity 6 so I can just keep my current project up to date to get it when it lands. Particles too (VFX graph in UI Toolkit?).

Personally I wish that rather than the UXML serialization, they went with Unity’s existing serialization. If all the Visual elements were serialized with a [SerializeReference] style by-reference serialization, we could’ve been referencing other visual elements via the builder from day 1, I reckon. I do know this type of serialization wasn’t available in Unity when UI Toolkit was started, but I do still wish something like this is considered.

But I do find the layout system and USS styling lets me iterate UI so much faster than uGUI.

Yeah I’ve learnt not to rely on nested prefabs too much… When it works, it’s great. But when it doesn’t, all hell breaks loose.

3 Likes

A big problem IMO with UI Toolkit specifically and Unity in general is the verbosity of the new APIs. This can be seen in ECS, new Input System, and UI Toolkit. This only push new users away from the engine.

I would talk about how imperative UI is a mistake that everyone - android, ios, web - is moving away from, but that would not be helpful this deep into development.

Staying with the current paradigm, I think things like the [UXMLElement] and [UXMLAttribute] attributes is a step in the right direction. The next step would be to simplify data binding and event subscription. A signal primitive like in modern front end frameworks would be very useful toward this.

Briefly, you give it a function, it call the function and track accesses to any signal’s getters within. Whenever any of those tracked signals changes, the function get called again automatically. It can get a bit complex to implement, but in the end the user should not have to worry about the hell that is managing event subscriptions and change notifications.

Can you explain a bit more on this? Is it like css filter? What would be the difference with custom shaders then? Or do you mean like css backdrop filter?

3 Likes