Search Unity

Unity XR Plugins and Subsystems

Discussion in 'AR/VR (XR) Discussion' started by matthewr_unity, Jun 12, 2019.

  1. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,423
    Is this XR management plugin system using a public SDK / API? If it's totally behind the doors system, I could see so many things going wrong in the future.

    Even if Valve will get the OpenVR plugin out of the door now, there's no guarantee they'll maintain it on timely manner on API changes etc, which on it's own is making use of Unity for your desktop VR game a huge risk in the future.
     
  2. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    35
    Hi @rizu, yes we've made our XR SDK accessible. In fact, one of the main reasons we've invested in the new XR plugin framework is driven by learnings from the closed door system. Over the past several years we realized that our approach in integrating XR platforms directly into Unity’s core engine was not going to scale well with the anticipated growth of new XR hardware/software providers. We realized we were getting in the way of innovation. So we decided to develop a new plugin framework (i.e., XR SDK) that opens up the door for XR providers to leverage our engine features & optimizations. This plugin-based approach improves our ability to make quick bug fixes, distribute SDK updates from our partners, and allows us to support new XR devices and runtimes without having to modify the core engine.
     
    Last edited: Feb 3, 2020
    jashan likes this.
  3. demonixis

    demonixis

    Joined:
    Aug 20, 2013
    Posts:
    116
    @mfuad Hello, Can we have an update about Vulkan and OpenXR please?
     
  4. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    743
  5. demonixis

    demonixis

    Joined:
    Aug 20, 2013
    Posts:
    116
    Thanks @ROBYER1 for the Vulkan update! Nothing about OpenXR? Is it still the next big thing?
     
  6. alexchesser

    alexchesser

    Joined:
    Sep 15, 2017
    Posts:
    129
    I can confirm that Vulkan works on oculus quest if you comment out the check in the Oculus pack.

    Universal Render Pipeline is broken at the moment until 7.2.0 comes out (estimated later this week)
     
  7. ConanB

    ConanB

    Joined:
    Jun 25, 2019
    Posts:
    15
    Where abouts would the SDK be so that I can implement a 'Stereo Display (non-head mounted)' plugin? as I still haven't heard anything on if Unity has dropped non-HMD stereoscopic completely or if they will have a plugin available :/
    Kinda means Unity is no longer an option for the CAVE and 3D display-wall systems I maintain.

    Or does "accessible" mean "only for paying third-party licensees"?
     
  8. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    35
    There's a link in our blog post to sign up for access to our XR SDK; it does not require a fee. Again, our goal here is to enable the whole ecosystem. So if 3D display-wall systems like the CAVE is what you're interested in, you can implement that plugin like you mentioned.
     
    MechEthan likes this.
  9. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,423
    I'm sorry for bringing this up again but is there ANY way Unity can get us any estimate from Valve if their plugin plans to ship by the time 2020.1 is out this spring? Or get valve to give some response on their short term goals for this? There's like zero means for regular users to get this info and it does affect a ton of people here (and prevents people from migrating to the new XR management).
    This applies for 2019.3 and upcoming 2019.4 LTS, but the whole player settings XR menu got recently removed from 2020.1 alphas so support for OpenVR is defnitely getting removed on future versions and there's just a ton of uncertainty on specifically when are we supposed to get functional OpenVR for them.

    I'm not all that alarmed by this yet as 2020.1 is nowhere near done at this stage but it would be really nice to get at least some estimate instead of being totally in the dark.
     
    andybak likes this.
  10. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    340
    Is there anyone other than people working on Quest exclusives who will use the new framework until this is answered? The number of people working on Rift exclusives is pretty small and most people developing for PC VR need to support SteamVR. And if you're working on a Rift or Quest exclusive you probably will ignore the new framework and use the Oculus SDK directly.

    So isn't the new framework useful to approximately no one until we get some clear word about SteamVR support?
     
    blacksun666 likes this.
  11. Thomukas1

    Thomukas1

    Joined:
    Sep 29, 2014
    Posts:
    21
    Hi, guys. Hoping someone can help me out. I am trying to get URP to work with XR plugin. If i choose stereo rendering mode "Multi pass", only one eye renders in build. If i choose "multi view", i get 2 eyes rendering, but in incorrect places and i get very trippy double vision. Is there anything i can do about it?
     
  12. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    500
    @Thomukas1 wait for URP 7.2.0 release (which was postponed a couple of times now due to XR issues). If you feel experimental you can grab it from SRP github repo.
     
    ROBYER1 likes this.
  13. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    743
    There are still XR issues on that also sadly
     
    gjf likes this.
  14. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,423
    7.2.0 got released today :)
     
    alexchesser and brunocoimbra like this.
  15. dariony

    dariony

    Joined:
    May 16, 2015
    Posts:
    12
    Hi @mfuad,

    Any ETA on XR SDK accessibility for those who submitted that form?

    thanks for the explanation!

     
  16. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    500
    Note that you can build custom XR Plugins directly in C#, no need to wait for SDK access to at least get started. You'll need some Reflection since many of the datatypes are "built for native" aka have no setters or constructors, but it's very much possible. I can probably share an example over the next days.
     
  17. torano

    torano

    Joined:
    Apr 7, 2017
    Posts:
    42
    Oculus Desktop has only "Multi Pass" and "Single Pass Instanced" and Oculus Android has "Multi Pass" and "Multiview" option for rendering. Are Unity devs going to add "Single Pass" or not? I hope they will since my model has problem with Single Pass Instanced and I don't want to use Multi Pass for performance.
     
  18. Taanga_Praful

    Taanga_Praful

    Joined:
    Feb 16, 2020
    Posts:
    6
    Anyone knows how to remove clipping limit in this new plugin? Whatever I change on camera clipping plane doesn't have any effect on actual VR camera. I am using Windows MR. Is it common for all or just me. Near clipping is stuck at '0.3'. @matthewr_unity
     
  19. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    743
    Using the XR Management Subsystems Package, how do we write code that compiles only for the plugin in use when building our app?

    For example, something like #if UNITY_XRMANAGEMENT_OCULUSXR or something similar?
     
  20. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    500
    I haven't tried it, but maybe you can use asmdef version defines for that?
    (see bottom)

    upload_2020-2-26_15-30-41.png
     
    ROBYER1 likes this.
  21. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    665
    @chengnan_yang please start a new thread for that rather than taking this thread off topic.
     
    andybak and ROBYER1 like this.
  22. AugmentedSpaceAgency

    AugmentedSpaceAgency

    Joined:
    May 11, 2017
    Posts:
    8
    Did anyone had any luck using URP with Multipass Stereo Display (Non Head-Mounted)? Currently if the deprecated VR SDK from player settings is used, only the left eye is rendered.

    @ConanB we also work with a CAVE system using Unity and we started to update to Unity 2019.3, hoping to use URP, but didn't had any luck with that, probably URP not being compatible with the legacy VR SDK. Did you had any luck with the XR Plugin?
     
  23. michelletbs

    michelletbs

    Joined:
    May 25, 2017
    Posts:
    3
    Do we need to reinstall XR management tool everytime when we create new project?
     
  24. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    665
    You need to import the package into each project, yes. (If that's what you're asking).
     
    gforeman, ROBYER1 and michelletbs like this.
  25. michelletbs

    michelletbs

    Joined:
    May 25, 2017
    Posts:
    3
    Thank you Claytonious
     
  26. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    340
    It's the same as any packages (aside from URP and HDRP where they actually have their own template project in Unity Hub)

    If you find yourself using a set of packages frequently just create a template project. You can set up a Github template so it's as simple as forking that and cloning it locally.
     
  27. mikeNspired

    mikeNspired

    Joined:
    Jan 13, 2016
    Posts:
    39
    Using Windows XR Package.
    Anywhere for the single pass option?
    Using SRP.
    I can only see text mesh pro in my left eye, and some shaders also have the same issue.
    I am also unable to use Post Processing, makes everything solid Gray.
     
  28. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,423
    Apparently OpenVR package already exists on some internal form as stumbled to this today:
    https://github.com/Unity-Technologies/InputSystem/pull/1083:


    That com.valve.openvr@0.9.0 package (or com.valve.openvr@0.9.0-preview) didn't exist on the current registry yet when I tried to add it to manifest manually :)
     
    brunocoimbra and mgear like this.
  29. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    340
    Is this it?

    https://github.com/zite/TestPackage

    (I tried a Github code search. This dude is a contract dev at Valve by the look of things. Hope I haven't just got him in trouble!)
     
  30. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,423
    Oh, that's a nice find!
     
  31. Thomukas1

    Thomukas1

    Joined:
    Sep 29, 2014
    Posts:
    21
    Hi, guys, I am desperate for a solution. Using
    Using XR management and Universal render pipeline. 2019.3.2f1 and android build is broken. Invisible shaders, UI, particles. I am using Oculus XR plugin and had set rendering mode to "multiview"

    When testing inside editor with oculus link and rendering mode of "single pass instanced" everything works.

    Anyone had/has this issue?
     
  32. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    340
    This thread is about the new plugin system. Sounds like you want to create a new thread rather than jumping on an existing one
     
  33. Thomukas1

    Thomukas1

    Joined:
    Sep 29, 2014
    Posts:
    21
    sorry, i will do that
     
  34. Sweet-JP

    Sweet-JP

    Joined:
    Mar 5, 2019
    Posts:
    2
    If you get the error "Unable to start Oculus XR Plugin." PLUG IN YOUR HARDWARE (in my case, the quest headset)
    Since I couldn't find anything on this error I thought I would leave this here just to spare someone the headache I had this morning.
     
    harleydk likes this.
  35. VRHealthMain

    VRHealthMain

    Joined:
    May 24, 2017
    Posts:
    14
    Does wave vr sdk is going to be supported or do i have to find a way to create my own loader to make it work?
     
    gforeman likes this.
  36. foonix

    foonix

    Joined:
    Dec 15, 2019
    Posts:
    5


    @Taanga_Praful I had this problem and it turned out to be because my VR camera was not tagged as MainCamera. If you are using HDRP, check that your VR camera is tagged as MainCamera and is the only camera tagged as such. URP does not seem to have this problem because it does not get culling mask information from XRSDK, so I think this is an XRSDK problem.
     
  37. harleydk

    harleydk

    Joined:
    Jul 30, 2012
    Posts:
    8
    Quick question, hope it's not too dumb, I'm still trying to find my way around the terminology. I'll develop a VR app with the XR Interaction Toolkit - does it seem likely I'll be able to export this as an WebXR app, some day? Appreciate all input, TIA.
     
  38. soleron

    soleron

    Joined:
    Apr 21, 2013
    Posts:
    193

    It was never the next big thing.
    Nobody really wants to support it, although it would be a good thing for VR it doesn't make much business sense at this moment. they pretend to want it because it's good PR, but in reality they would rather people are locked in exclusive pens... uhm sorry, I meant ecosystems :p The consumer pie is still small so the more they keep for themselves the better.
     
  39. arfish

    arfish

    Joined:
    Jan 28, 2017
    Posts:
    145
    I think it's a stupid idea if they (Facebook?) think they will increase their own market share by cutting the competition, instead of providing something better like more FoV, and eye tracked Foveated rendering.
     
  40. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,440
    They are correct in their actions and will dramatically increase their market share. Increasing market share is providing a standalone VR device that isn't the best tech but is affordable, simple to use and even a grandparent can master it. Quest was unprecedented - I didn't expect 75+ year old relatives to use it with no prior experience, but they did with ease and mastered it.

    And bought their own after.

    That is how you gain market share. You are the tiniest possible minority in this industry, while facebook, casual users, facebook vr MMO, these are all things that gain market share and further move the industry toward what you actually want (eye tracking etc) because the money is there for iterative improvement with cost spread over time.

    In any case it's offtopic. What Unity is trying to do is what Oculus already spoke about in connect 6, they want to make less custom API and use public engine API instead, to make devs lives easier. In reality, it's still a way off. Also anything unsupported is IMO Unity's fault, we as developers are not concerned with politics or backroom deals.

    So it's not the customer's fault if a store doesn't stock a popular brand, they will go to another store, epic etc. So really, if Unity cares about VR business, they'll make it happen. It's that simple.
     
    harleydk and gjf like this.
  41. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    743
  42. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    589
    Can you point me to some docs (or simple examples) of accessing this via script? Can't find any anywhere so far.

    SIMPLE USE CASE: I'm building an asset that builds on top of XR/XRInteractionToolkit, and I need to detect "which headsets have you installed (the XR plugins for)?", in script - so that I can react appropriately.
     
  43. deraggi

    deraggi

    Joined:
    Apr 29, 2016
    Posts:
    88
    Since there is still no OpenVR Plugin, has anyone tried using Revive to develop on OpenVR Devices while waiting for the official integration?
     
unityunity