Search Unity

  1. Unity 2019.4 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  3. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

New XR Management and Vendor plugins

Discussion in 'AR/VR (XR) Discussion' started by FlightOfOne, May 26, 2020.

  1. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    Hi,

    I have a question regarding vendor plugins and XR.

    Do I need to install each vendor plugin (e.g. WMR plug in and Oculus XR plugin) or can I just install one and publish to all other platforms? In other words can I use Oculus XR plugin and play on a Valve device (e.g. Index), and vise versa?


    Here is the XR framework:https://docs.unity3d.com/Manual/XRPluginArchitecture.html

    Thanks!
     
    Last edited: May 26, 2020
  2. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
    You will have to ask Valve about what restrictions they put on their store in regards to what you can publish there. Same goes for every other store as they all have their own restrictions and requirements for publishing.

    But my guess would be no.
     
  3. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    Thanks and sorry I should asked differently (edited my original question). Yeah, I am aware of the publish part of things and each store restrictions. I should have said play, not publish.

    Like lets say, I use Oculus XR plugin and publish on the Oculus store (no problems here, play with an oculus headset should be able to play). But what about if there is a play with a Valve index trying to play the same game (on Oculus store of course) will that person have issues, is my question.

    I ask this because before XR management, if I were to use something like OVR or OpenVR plugin, I can do what I described above just fine. Now with the new framework has this changed?
     
  4. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
    I am still not quite clear on the issue here. I don't see how OVR will run an HTC Index directly. I would think that you would still need to use the SteamVR plugin added to your project to be able to handle that.
     
  5. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    I published an app using SteamVR plugin, no OVR whatsoever, and people with WMR, Oculus and Valve, all were able to play because SteamVR managed this (how? guess they had drivers for this? beyond my knowledge). I believe if you used the Oculus integration (I have limited experience with this) it did the same thing as Steam plug in.

    I was under the assumption that XR management was supposed to take care of this part now, act like a central management system for all the devices, with the help of XR plugins from the vendor, is this correct?
     
  6. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
    XR Management does not change how this all works in relation to built in XR. You still need to use and manage provider plugins for each store/device/etc. you want to run on/publish to.

    Valve has put a lot of effort in making SteamVR work with WMR and OVR by writing wrappers around those systems so they look and work with Steam VR. This is why you can use Steam VR and have it run on all other devices. This has nothing to do with Unity XR support, either Built In or XR Plugin based.

    I have no information in regards to if Oculus drivers are setup to make Steam VR look like an Oculus device or not, nor WMR. My best guess is no but honestly I don't know.
     
    a436t4ataf likes this.
  7. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    345
    I'm also confused by XR management.

    Currently, I'm making VR apps based on Steam VR. It works on my Vive and is compatible with other headsets like my WMR. In my experience, this is as far we can go to make a .exe that will run with any VR headset.

    I was hoping we'd get some kind of universal VR standard by now and that XR would go in that direction. Instead, anything I tried with XR management didn't work with my Vive. Worse, I wanted to try the 2020 beta and OpenVR is deprecated so SteamVR doesn't work either.

    Is there and alternative?

    Is there a reason we don't get SteamVR in XR management?

    Thanks
     
  8. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
    Marc-Saubion likes this.
  9. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    I have been messing with the new interaction system and I am able to see the VR controllers under unsupported so Unity Definitely can see these devices without any plugins. But I probably won't rely on this for a production app.

    I am able to use this for Valve stuff (same as what @joejo posted), WMR and Oculus packages are there in the package manger already.
    https://github.com/ValveSoftware/steamvr_unity_plugin/tree/UnityXRPlugin

    Watch the first part of this video, it might help you understand better:

    Also, this guy has very good how to video:


    I recently published an app and most of the complaints had to do around input/compatibility. Troubleshooting these has been an absolute nightmare. Problem is we still have no real standard when it comes to VR, everyone wants to be the leader and doing their own thing. We have Valve in on corner, WMR and Oculus in the other and they are all trying to compete (my personal opinion) and we are caught in the middle. You can say what you want about WMR, but this has been the easiest to work with as a developer. I wish everyone adopted one framework (e.g. WMR) and built their hardware on top of that. VR world would be a happier, stable and a thriving place. That was my little rant.

    Anyways, looks like the pain train will continue for the foreseeable future and I hope I am wrong.
     
    Last edited: May 28, 2020
  10. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
    > Problem is we still have no real standard when it comes to VR, everyone wants to be the leader and doing their own thing.

    This, unfortunately. Hoping that OpenXR remedies this situation in some way in the near future.
     
    ROBYER1 and FlightOfOne like this.
  11. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    345
    Thanks. I tried it already but the package manager doesn't want it.

    Does anybody have the right git url to put in the package manager? I tried everything and don't know what I'm missing.

    Thanks
     
  12. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
    What URL are you using?
     
  13. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
  14. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    345
  15. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    684
    None of those are correct as per the README in the GitHUB repo they point to.
     
  16. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    345
    Last edited: May 28, 2020
  17. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    345
    Yeah I see that now. I was working using Unity's documentation that shows adding packages from git with the ".git". That was a misleading direction.

    Thanks again for your help.
     
  18. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    URL works fine. You just need to have Git installed on your PC, Note that it is NOT git desktop or source tree, you need actual git (Git-2.26.2-64-bit) installed. If you do not want to do this, you can download it to your desktop (from link below) and from the package manager select "Add package from disk".

    From valve:

    Unity XR Input (SteamVR Legacy Input):
    • Go to the package manager window (Window Menu -> Package Manager)
    • Hit the + button in the upper left hand corner
    • Select “Add package from git URL”
    • Paste in: https://github.com/ValveSoftware/steamvr_unity_plugin.git#UnityXRPlugin
    • Open the XR Management UI (Edit Menu -> Project Settings -> XR Plugin Management)
    • Click the checkbox next to OpenVR Loader - or in older versions - Under Plugin Providers hit the + icon and add “Open VR Loader”
     
    Marc-Saubion likes this.
  19. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    @joejo

    Could you please tell me what the proper workflow is for getting WMR, Valve and Oculus to work on the same build? I have been digging (perhaps at the wrong places) and can't really seem to find much on this.

    Do I check all the XR plugins and hit play, is XR supposed to figure out which devices is connected and work accordingly? I did this but I get errors. Do I need to do something else?

    xr wmr valve oculus.PNG

    Afterwards this pops up and sits there.

    building.PNG
     
    Last edited: May 29, 2020
  20. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    345
    That's what I hope for.

    I have a Vive and a WMR. I'll check if my test app runs on the WMR without running steam vr as i currently have to do.
     
  21. Marc-Saubion

    Marc-Saubion

    Joined:
    Jul 6, 2011
    Posts:
    345
  22. salvolannister

    salvolannister

    Joined:
    Jan 3, 2019
    Posts:
    13
    Last edited: Jun 25, 2020
  23. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    Hi, Your link is not working but I think this is the full plugin. Yes this one will work because it supports everything from HTC to wmr through that plugin and you do not need to use the new XR management with this. My case it even worked for cosmos after I added the poses.

    We are trying to use the Steam's Unity XR plugin that's supposed to be used with XR management as a subsystem. https://github.com/ValveSoftware/steamvr_unity_plugin/tree/UnityXRPlugin

    I have been playing with a lot since I initially posted this. It seems you have enable XR plugins you need (Oculus, steam etc..) and use a custom initialize script (vs checking auto) to fire them up on demand.
     
  24. salvolannister

    salvolannister

    Joined:
    Jan 3, 2019
    Posts:
    13

    I am not using the complete version of SteamVR plugin but the OpenVR XR SDK Package with XR Management and XR Interaction Toolkit. The problem I have with the hand goes out of this topic ( Yesterday I didn't know before posting), and it is due to the OvrAvatar from Oculus SDK.
     
  25. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    842
    With SteamVR now starting to focus on using OpenXR rather than OpenVR moving forward, who is responsible for an OpenXR plugin in Unity, will Valve have to make it or will Unity? Who will own that plugin?

    With SteamVR using OpenXR in beta and also Oculus Quest/Rift getting OpenXR support, it seems increasingly clear that OpenXR should be the clear cross-platform solution soon.
     
  26. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    I really wish supported of all VR systems, at least the popular ones, just as they created support for all the input devices with the new input system (which has been nothing short of amazing). Only problem is it would be nightmare as far as maintaining it with hardware/firmware changes, especially since VR is changing at such rapid rate. I think vendors need to step up their game as far as supporting game engines or just use one solution (which is highly unlikely and probably easier said than done).

    As far as I understand it, open xr is the base that everyone uses. It is a collaborative effort and was created as an open source by bunch of people in the industry which may have included people from Microsoft, Valve and Oculus. Then all the companies started using this as their base system.

    https://www.khronos.org/about/directors-officers/
    https://www.khronos.org/openxr/
     
  27. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    842
    [QUOTE="FlightOfOne, post: 6026327, member: 665294"
    https://www.khronos.org/openxr/[/QUOTE]

    From this page you linked, you can see Unity is still using the left diagram with XR Plugin Management, where the plugins like Oculus, Windows MR etc are all individually added through XR Plugin Management rather than the right diagram where the Unity build target should be just OpenXR. I don't know how we will get there with Unity's current direction but Unreal engine has done it already.

    upload_2020-6-26_15-47-23.png
     
  28. firestorm185

    firestorm185

    Joined:
    Sep 23, 2014
    Posts:
    14
    Yeah, it's collaborative. The issue we're seeing in this thread is that Valve hasn't released a non-beta branch of their part of the UnityXR plugin, so currently the system only works with WMR and Oculus. Once they do, and Unity adds it by default to their list of supported systems, then it should work like butter, it's just waiting for Valve to finish their plugin that's the annoying part.
     
  29. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    220
    From this page you linked, you can see Unity is still using the left diagram with XR Plugin Management, where the plugins like Oculus, Windows MR etc are all individually added through XR Plugin Management rather than the right diagram where the Unity build target should be just OpenXR. I don't know how we will get there with Unity's current direction but Unreal engine has done it already.
    [/QUOTE]

    Open XR seem hopeful but they (Unity, valve, Oculus, Microsoft and even Unreal) need to figure out and agree on how this is going to work out for the foreseeable future, come up with a formal standard for this. Otherwise this going to hurt or slow down the progress of VR. Also, it is hurting small/indie groups the most and the irony is they (of course Oculus, which was also sort of an indie company back then, Unity and also Valve which did a good amount should get half the credit) were the ones that pushed VR this far. Now the big companies are coming to the game after seeing all the potential and they don't really care for this as they have resources to hire a dedicated person or a team to JUST deal with VR/hardware aspects of a game.
     
    Last edited: Jun 28, 2020 at 5:43 PM
unityunity