UIToolkit + world space support status?

@martinpa_unity I know it’s on the roadmap:

https://unity.com/roadmap/unity-platform/gameplay-ui-design

But it’s been planned for more than 1 year and I haven’t read any news in the forums, blogs, etc…

Anything to say about it?

Thanks.

6 Likes

Hi @bdovaz , we have no udpate to provide about this. It’s still planned but we cannot communicate an ETA at this point.

Thanks.

@antoine-unity By “still planned” you mean that it is not even being worked on, right?

Yes “worked on” would be the In Progress status.

@antoine-unity Any update on this?

Honestly, just by looking at the speed of development and the current state of the UI Toolkit, it’s obvious that the situation with world space rendering won’t change within the next few years.

I would redirect you to our latest post about our roadmap, where we can give a complete picture of our priorities.

World space will come but it’s just not a priority right now.

https://discussions.unity.com/t/892659

It’s not what you want (world space orientation) but you can at least use this for now:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;

public class UITrackTransform : MonoBehaviour
{
    public Transform TransformToFollow;
    private VisualElement m_Bar;
    private Camera m_MainCamera;
    private void Start()
    {
        m_MainCamera = Camera.main;
        m_Bar = GetComponent<UIDocument>().rootVisualElement.Q("Container");
        SetPosition();
    }
   
    public void SetPosition()
    {
        Vector2 newPosition = RuntimePanelUtils.CameraTransformWorldToPanel(
            m_Bar.panel, TransformToFollow.position, m_MainCamera);
        newPosition.x = (newPosition.x - m_Bar.layout.width / 2);
        m_Bar.transform.position = newPosition;
    }
   
    private void LateUpdate()
    {
        if (TransformToFollow != null)
        {
            SetPosition();
        }
    }
}
4 Likes

@antoine-unity its been more than a year and it still shows as “in progress” on the roadmap. We have the arrival of vision pro which exclusively needs worldspace UI and still this has not arrived.

This has been the main reason nowhere I have worked has moved to UITK yet - what is the status?

From looking at the public roadmap it seems to have stalled entirely

Our World Space implementation is largely unrelated to Vision OS, which is a very unique platform.

I don’t think it’s been more than a year that World Space is in progress, I could be wrong though. The status is that it still in development, both for the graphics implementation but also from an Editor workflow perspective. It is not a small feature to add. As communicated before, this will not be part of Unity 6 (aka Unity 2023 LTS).

2 Likes

So basically for many users requiring this, it wont be until 2025 at the earliest that UITK becomes viable? Its been a really long wait and its surprising this is still such a long way off - anyway thanks for responding

The main focus for the past 2 years has been UI Toolkit for Editor UI, which World Space doesn’t support directly. We are now moving our feature development focus towards Runtime Game UI, so yeah, a release in 2025 is likely a realistic time-frame for it.

6 Likes

Thank you

1 Like

I’ve made a script that accomplishes this pretty well, will look into putting it on the asset store or something at some point.
https://github.com/BAPCon/WorldSpaceUnityDocs

1 Like

AppUI package has script for world space. Works fine.

1 Like

@uDamian @antoine-unity Any workaround for this?

Certain types of UI (like a computer screen) need to be in 3D space. For these, we need to wait until official support or use RenderTextures. But for things like floating health bars, item labels, waypoint marker, … I can recommend simply using screen-space UI and moving the UI to follow a 3D object. One big advantage with this is that user Interaction works like usual.
I made a video comparing these two approaches:

1 Like

I found an interesting example on using UI toolkit to make a worldspace UI which actually seems to use a render texture here (although I haven’t personally tested this myself):
https://www.youtube.com/watch?v=gXx_j-6z8jY

1 Like

World space without XR it’s really easy to solve. The problem is with XR, that’s where it seems there are missing pieces (combination of UI Toolkit, XRI, Input System…) by Unity that prevents from working.

That why is was trying to draw attention from specific Unity staff people from this teams without success on this thread…

https://discussions.unity.com/t/852531/14

3 Likes

That’s so funny that the whole UI toolkit is just a copy of vanilla JavaScript +css from 2008 and they are not doing any progress on world space. Ridiculous
I mean it’s at least better than default ui we have to deal with but it is still one of the worst things ever happened to game engines

1 Like