Unity’s plans for OpenXR

We have been closely monitoring the development of the OpenXR standard. We’re at an inflection point now, where OpenXR 1.0 has been ratified and OpenXR runtimes by various vendors are reaching maturity. This inflection point has accelerated our efforts to enable OpenXR in Unity. Though we’re still working through some details, we want to reiterate our commitment to OpenXR and are excited to share our latest plans. For those who are not familiar, OpenXR is an open standard created by the Khronos group, aimed at simplifying AR/VR development by allowing developers to seamlessly target a wide range of AR/VR devices. Unity is a proud member of the Khronos group and is an active contributor to the OpenXR standard.

As OpenXR becomes the primary backend for many platforms, we are working with our partners to ensure full Unity support of their OpenXR runtimes, along with the necessary OpenXR extensions to ensure parity with existing features. We plan to have early previews of Unity’s support of OpenXR on some of these platforms as early as the end of this year (Unity 2020 release cycle). Our development efforts and support will be focused on providing the best developer experience on Unity supported platforms.

Enabling OpenXR support on our partner platforms also affords us the ability to make this widely available for other OpenXR runtimes/devices. Early next year, we plan to release an experimental version of Unity OpenXR that works with other conformant OpenXR runtimes based on the OpenXR 1.0 specification. Given the unbounded combinations of possible hardware/software configurations, we cannot test or guarantee that all configurations will work optimally. As issues are discovered with runtimes, we will work to contribute conformance tests and specification changes back to the Khronos working group to help the community as a whole. We will also make sure it’s clear to developers which platforms have been fully tested and thus supported by Unity.

Our mission is to make it as easy as possible for developers to take their content to the widest set of desired platforms. OpenXR is an important part of that story, and will be implemented as a part of our XR plug-in framework (XR SDK). This means developers can continue using Unity’s suite of XR workflows and frameworks (AR Foundation, XR Interaction Toolkit, Unity MARS) for platforms that adopt OpenXR, as well as platforms that may choose not to adopt it.

We’re excited about the progress that has been made and believe this is a significant step towards supporting open standards. We plan to share more updates over the next couple of months.

34 Likes

Thanks for the response on this, is there any way to sign up for early access to the OpenXR alpha/beta in Unity? I would be keen to test as I've been rambling on about it here on the forums for a while now

8 Likes

Here is my concern:

With these and more on the way, including our ongoing developer preview in SteamVR, now is the time for developers and engine vendors to start looking at OpenXR as the foundation for their upcoming content

^ a quote from khronos org by Joe Ludwig ( Valve )
At this moment steamVR can't handle controller proper controller inputs via unityXR.
What does it mean for the steam vr plugin ? Will there be a continued afford to support current xr system and open vr ?

Will there be a direct access to the hardware inputs when using openXR or will it be abstracted similar to how unityXR is currently handling it ?


I believe OpenXR is the new standard Valve are focusing on supporting now rather than their old OpenVR runtime.

See more about it here https://store.steampowered.com/newshub/app/250820/view/2396425843528787269


I am guessing the way it will work is in the XR Plugin Manager there will be an OpenXR checkmark next to the Oculus, Windows Mixed Reality, and SteamVR options... The SteamVR version will probably get removed as Steam VR is totally moving to OpenXR. I am guessing the inputs will be using the OpenXR framework and still be compatible with the XR interaction toolkit. I hope the OpenXR integration works well with URP because I get horrible performance using URP with VR right now.

1 Like

So it seems the best way forward for Developers is using Unity XR Development Toolkit? Where it may be upgradeable to openXR in the future?

At the moment it doesn't work with Steam inputs it seems.

Yes, from what valve said their input uses the OpenXR standard and when Unity supports OpenXR then it should also work with steam vr input. Using unity’s plugin management and input as one system for all vr headsets is probably the way to go now that we have a confirmation OpenXR support is coming.

I managed to read the inputs using the latest steamVR beta and some strange hack
https://github.com/ValveSoftware/steamvr_unity_plugin/issues/853

2 Likes

Same here :')

1 Like

Does this mean the WebGL output will support WebXR (OpenXR) now??

No, WebXR is a different API that uses OpenXR under the hood. Unity would have to target WebXR which is a completely separate task than supporting OpenXR natively.

2 Likes


We're aiming to have a preview publicly available towards the end of this year, and will share more details on how to try it out as we draw closer to making it available.

3 Likes


With OpenXR, all input from conformant OpenXR runtimes (including Valve’s runtime) will be routed through Unity and can be accessed through Unity's Input System and the XR Interaction Toolkit.

7 Likes


Unity should consider this though. Why not cover that gaping hole in it's featured AR support when it's trying so hard to push devs to use it?

1 Like


I'll address this one but ask that we keep the thread focused on OpenXR. We’ve been keeping up with the WebXR spec as it matures, and looking at various ways to address the performance constraints. We don't have immediate plans for WebXR at this point. Right now, our main focus is on releasing support for OpenXR.

4 Likes

@mfuad Thank you for this thread and the updated information! It's always great to get broader updates on where the software I love using and depend on is going. Getting updates for bugs/production potholes like SteamVR input make me a lot more confident in where I need to put in my time on my projects, and makes me feel more confident with Unity as a whole.

5 Likes

Anyone knows what will be the level of operation for open-xr ? Was hoping to avoid using the oculus desktop app altogether if possible.

You can choose your main OpenXR app runtime in Windows 10, I could see you can set SteamVR as default OpenXR runtime in the SteamVR settings, and Windows Mixed Reality has something similar I believe.

2 Likes

so this is pretty unclear. Does Unity work with SteamVR anymore or not? Is there a unified VR system? Why not just call it VR as opposed to using all these cryptic names and libraries. Seriously considering switching to Unreal, their VR system works out of the box.

UnityVR <-- makes more sense.

I'd also like to know where the tutorials are guys. You made a Game Engine but you can't consistently update your Youtube Videos? It seems like Unity versions are incredibly incompatible with everything every-time they are released and there are almost no explanations of what was replaced and how to work around it. It seems like there are no standards for anything.

BTW the input system is a complete mess and there are no tutorial vids for it that are accurate to the most current release. Common guys, are you actually trying to make this more complicated? Every time I open a new update for Unity, I feel like I'm dumping a tub full of mixed Legos on a table and trying to create something from it. Except that all the Legos are from different companies and none of them fit together anymore. You can't imagine how frustrating it is to look up a tutorial from 2018 or 2019 for a specific feature and find out that Unity decided to delete that feature/prefab/asset/library arbitrarily and there is no recorded workaround.... it's just gone and you are S O L.

7 Likes

I here ya. I have been working in VR with Unity for 5 years now. VR was in a good state with Unity 2018.4 LTS but 2019 is a mess. It's because so many things are coming online at once and have to be rewritten. Like the new XR input system, and new XR Plugin structure. I think it's a necessary thing to do as it was a pain in the butt to have to code input for each VR SDK. So I like the new input system and the move to OpenXR is a must, but still needs a lot of work to get it where it should be. Be patient. It seems XR is just starting to come to maturity so we have to wait a little longer for everything to get ironed out.

7 Likes