Search Unity

  1. Read here for Unity's latest plans on OpenXR.
    Dismiss Notice

Unity Unity’s plans for OpenXR

Discussion in 'AR/VR (XR) Discussion' started by mfuad, Oct 23, 2020.

Thread Status:
Not open for further replies.
  1. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    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.
     
    wm-VR, DevDunk, RemyJacks and 31 others like this.
  2. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,184
    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
     
  3. VVad

    VVad

    Joined:
    Aug 5, 2017
    Posts:
    20
    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 ?
     
  4. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,184
    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
     
  5. joeysipos

    joeysipos

    Joined:
    Jul 28, 2015
    Posts:
    23
    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.
     
    ROBYER1 likes this.
  6. Simon_Nordon

    Simon_Nordon

    Joined:
    Nov 30, 2018
    Posts:
    5
    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.
     
  7. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    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.
     
  8. VVad

    VVad

    Joined:
    Aug 5, 2017
    Posts:
    20
    I managed to read the inputs using the latest steamVR beta and some strange hack
    https://github.com/ValveSoftware/steamvr_unity_plugin/issues/853
     
    DeGandalf and ROBYER1 like this.
  9. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,184
    VVad likes this.
  10. rogueyoshi

    rogueyoshi

    Joined:
    Sep 8, 2018
    Posts:
    13
    Does this mean the WebGL output will support WebXR (OpenXR) now??
     
  11. thep3000

    thep3000

    Unity Technologies

    Joined:
    Aug 9, 2013
    Posts:
    308
    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.
     
    DeGandalf and tonialatalo like this.
  12. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    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.
     
    soleron, MentalGames and ROBYER1 like this.
  13. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    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.
     
  14. rogueyoshi

    rogueyoshi

    Joined:
    Sep 8, 2018
    Posts:
    13
    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?
     
    tonialatalo likes this.
  15. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    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.
     
  16. colinleet

    colinleet

    Joined:
    Nov 20, 2019
    Posts:
    90
    @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.
     
  17. VVad

    VVad

    Joined:
    Aug 5, 2017
    Posts:
    20
    Anyone knows what will be the level of operation for open-xr ? Was hoping to avoid using the oculus desktop app altogether if possible.
     
  18. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,184
    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.
     
    FakeByte and RB_lashman like this.
  19. VRKid

    VRKid

    Joined:
    Jul 1, 2016
    Posts:
    37
    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.
     
    Last edited: Nov 2, 2020
  20. joeysipos

    joeysipos

    Joined:
    Jul 28, 2015
    Posts:
    23
    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.
     
    Last edited: Nov 2, 2020
  21. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
    This is great news, I can't wait! Can you confirm that Valve devices (input stuff) will also be supported after this?
     
    RB_lashman likes this.
  22. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    Hey @FlightOfOne, I addressed this one earlier in the thread. See below:
     
    hookmanuk, joeysipos and RB_lashman like this.
  23. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
    Sorry, I must have missed it, Thank you! this is the best news I've heard this year!! :)
     
    GabsKapellmann and RB_lashman like this.
  24. ExodusOTH

    ExodusOTH

    Joined:
    Nov 30, 2017
    Posts:
    32
    Hey @mfuad

    Does this mean that Valve will be done with attempting to develop their own XR Plugin in-house, as stated here? (The plugin stored at this Git Repo)
    And if yes
    Does the above quote mean that it will still be up to Valve to integrate that plugin with the Unity Input System, or will that be Unity's responsibility?

    I ask because I have lost confidence in Valve's ability to integrate with Unity, and just continued developing my game with the Oculus Plugins and Unity's Input System, just waiting for them to get their act together (their number of commits to that Git Repo stagnated months ago)

    I'm super excited by the possibility of this, but am also apprehensive to get my hopes up, as Valve supported the Unity Input System (I specifically tested the Valve Index) in Preview Version 3 but then removed it in all following versions, and publicly said, "This means Unity XR Input (or Unity Input System) will not work with this OpenVR plugin." (This was way back on June 22, so I am optimistic that much has changed).
     
  25. FakeByte

    FakeByte

    Joined:
    Dec 8, 2015
    Posts:
    147
    Valve will still develop its own plugin, actually valve already supports OpenXR and its unity that was lagging behind, with unity getting OpenXR support it will be able to access all SteamVR features without the need of installing the SteamVR plugin.
     
  26. ryanjfeldman

    ryanjfeldman

    Joined:
    Aug 9, 2017
    Posts:
    3
    I'm super excited about this. I'm more excited about WebXR support though. Even if it requires a specialized version of the existing toolkits.
     
    RB_lashman likes this.
  27. daveinpublic

    daveinpublic

    Joined:
    May 24, 2013
    Posts:
    68
    Sounds great! Any info on possible timelines? Could we wind up seeing Steam integrated into Unity's XRRig sometime in the next few months?
     
    RB_lashman likes this.
  28. mikaelK

    mikaelK

    Joined:
    Oct 2, 2013
    Posts:
    136
  29. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
  30. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
    Do you have a timeline for this? Any betas we can participate in? Thanks!
     
  31. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    We are still on track to have a public preview available by the end of the year (later this month). Stay tuned!
     
    hookmanuk, TotallyNerdy, mutp and 4 others like this.
  32. mikaelK

    mikaelK

    Joined:
    Oct 2, 2013
    Posts:
    136
    I mean can we count on that our current projects run with the new stuff too?
    To me their QA told me that they don't support open-vr. Open-vr seems to work, but not with their new upcoming NetCode. So I'm trying to find out how should I plan my future. Now it seems NetCode is out of the question and we need to look for alternative. I tried few packages from asset store, which one already had errors on the console from deprecated stuff. So it even could be that there might not be reliable networking solution for open-vr projects at all.

    I would like to be able to continue the development of my game in the future.
    I also don't want to end up using most of my time to fix issues related something else than games development. I hope its not too much asked. Lately I have been having more and more issues with packages. virtual reality development takes so much out of the machine that you are pretty much forced to use DOTS in your projects.
     
    Last edited: Dec 3, 2020
  33. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
    I see. You're referring to the multiplayer aspect of things. Sorry, I am not familiar with NetCode at all maybe someone else here can answer.

    However, out of curiosity, what's the relationship between multipayer and project being VR? Aren't they two different things? I'd think NetCode or any other solution could care less if the project is VR or non-VR as there nothing special about VR (Vs. non-VR) in terms of multiplayer.
     
  34. mikaelK

    mikaelK

    Joined:
    Oct 2, 2013
    Posts:
    136
    Yes, I cant believe it either. I fear that it could be that the QA person thinks the issue is with the open-vr and is unwilling to proceed with passing the bug request forward(he closed it). I hope this is not the case :). DOTS is just way too good to be like that.

    Personally I think the issue must be related to high update rates and trying to synchronize whats happening between client and server. Since virtual reality content has to run at very high rates it sounds logical. QA person seems to think otherwise. I'm not networking specialist and I have only done some simple node.js related networkins system long time a go.

    Well anyways I need a network solution for the vr-game sooner or later and the NetCode would be a dream, if it would work with the open-vr. Currently Open-vr is the only way for me to get the game on schedule. If I have to do another vr-input manager change to new but better I think I'm going to lose it lol. Its going to fourth one for me I think.:D
     
    designleviathan likes this.
  35. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,184
    Just seen that Facebook now recommends OpenXR as the main target for Oculus platform, with features coming first and maybe only to OpenXR.

    Even more reason to get OpenXR beta out in Unity, stoked to try it!

    https://uploadvr.com/facebook-now-recommends-openxr/
     
    FlightOfOne, mutp and Hobodi like this.
  36. Hobodi

    Hobodi

    Joined:
    Dec 30, 2017
    Posts:
    84
    Me too. It would be nice to connect to input system via SteamVR already.
     
    ROBYER1 likes this.
  37. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
    Having one solution for all these devices would definitely help solidify the future of PCVR.
     
    ROBYER1 likes this.
  38. alberto2000

    alberto2000

    Joined:
    Jul 26, 2017
    Posts:
    9
    Hi all, I'm quite new to Unity and need to develop a very basic VR demo application for a HTC Vive device. Also I need to use the XR device simulator since I only have limited access to the physical headset.

    I'm quite overwhelmed with all what's going on with new input system, XR plugin management, new this, deprecated that, ... I understand Unity XR is all super much in development and steadily updated, so many props to the devs.

    So for the HTC Vice, do I need to use the legacy input system so I can select OpenVR? As I understand the new input system doesn't support OpenVR yet? The HTV Vive relies on OpenVR, no?

    ...in short, what is currently the preferred way to create an app for HTC Vive in Unity (2019 or 2020)?

    Thanks a lot!
     
  39. Hobodi

    Hobodi

    Joined:
    Dec 30, 2017
    Posts:
    84
    It seems to me the only way now is to wait for OpenXR 1.0.
     
  40. alberto2000

    alberto2000

    Joined:
    Jul 26, 2017
    Posts:
    9
    @Hobodi thanks. So there is absolutely no way right now to use the HTC Vive? Not even using the legacy/old input system?
     
  41. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
    This is correct, you cannot use the new input system with XR Management. I am not sure about the legacy but I think it should work.

    If you JUST want to get it to work for a quick and small project (especially if you are only going to use HTC Vive) you can just use the SteamVR plugin. SteamVR plugin still works fine.

    You can also use the Steam XR plugin along with SteamVR input (this is what I am doing at the moment), but if you are very new, you might have to do some reading and play around a little to get it to work.

    See here: https://github.com/ValveSoftware/steamvr_unity_plugin
     
  42. alberto2000

    alberto2000

    Joined:
    Jul 26, 2017
    Posts:
    9
    @FlightOfOne thanks a lot. YES, it's just for a quick and dirty proof of concept application that only needs to work on one single device, namely the HTC Vive.

    I have a project setup currently that uses the deprecated "virtual reality supported" setting in player settings and it seems to work with the XR device simulator so far, using the MockHMD as an output. I have no access to the HTC Vive until mid next week.

    So will I need the SteamVR plugin to connect to the HTC Vive? What is the benefit of adding the SteamXR plugin alongside?
     
  43. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    490
    I honestly have never had the need to use the MockHMD so I am not too sure about that. Since I use XR Management (with Steam XR plugin) during most of my development and testing I actually have VR turned off. I only turn it on to test VR specific stuff.
    Capture.PNG

    If you use the XR management you will need that plugin. E.g. I use XR Management + Steam XR plugin (for valve stuff), Oculus XR plugin (for oculus) etc...XR plugin is for the graphics part and Steam VR is for input stuff.


    If you do not want to deal with XR management you do not need to use the XR plugin. Just an empty project and Steam VR plugin are all you need. The only downside is, it's a little tricky to turn off Steam VR. Every time you want to play steam wants to fire up.
    see here: https://gamedev.stackexchange.com/questions/131147/unity-disable-steamvr

    Edit:
    I should probably mention that SteamVR is a complete suite that has all the things including, input management and sample scripts, etc... If you use this you do not need anything else. In my case I use -only- the input part for ONLY Valve devices. For everything else, I use the new input system. Hope this makes sense.
     
    Last edited: Dec 13, 2020
    alberto2000 likes this.
  44. dariony

    dariony

    Joined:
    May 16, 2015
    Posts:
    18
    Of course there is a way, there are a number of toolkits in addition to XR Interaction, e.g. the ViveInputUtility (VIU) on the asset store (or github) gives you cross device support as well (yes including Quest).
     
    ROBYER1 likes this.
  45. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    Hi everyone, we've just released a preview of our OpenXR plug-in! During this period, we're looking for folks to try it out and give us feedback. Check out our forum post for more detail.

    Going to close this thread; let's keep the conversation going in the forum post linked above. Cheers!
     
Thread Status:
Not open for further replies.
unityunity