Search Unity

Official 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:
    2,361
    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:
    335
    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:
    185
    @mfuad Hello, Can we have an update about Vulkan and OpenXR please?
     
  4. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,454
  5. demonixis

    demonixis

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

    alexchesser

    Joined:
    Sep 15, 2017
    Posts:
    147
    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:
    18
    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:
    335
    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.
     
    KyryloKuzyk and MechEthan like this.
  9. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    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.
     
    JoeStrout, kahunamoore and andybak like this.
  10. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    569
    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?
     
  11. Thomukas1

    Thomukas1

    Joined:
    Sep 29, 2014
    Posts:
    31
    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:
    802
    @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:
    1,454
    There are still XR issues on that also sadly
     
    gjf likes this.
  14. rz_0lento

    rz_0lento

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

    dariony

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

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

    thanks for the explanation!

     
    kahunamoore likes this.
  16. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    802
    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:
    46
    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:
    1,454
    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:
    802
    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:
    904
    @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:
    12
    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:
    904
    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:
    569
    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:
    82
    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:
    2,361
    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 :)
     
  29. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    569
    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:
    2,361
    Oh, that's a nice find!
     
  31. Thomukas1

    Thomukas1

    Joined:
    Sep 29, 2014
    Posts:
    31
    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:
    569
    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:
    31
    sorry, i will do that
     
  34. Sweet-JP

    Sweet-JP

    Joined:
    Mar 5, 2019
    Posts:
    4
    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:
    20


    @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:
    41
    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:
    582

    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:
    782
    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

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    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:
    1,454
  42. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    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?
     
  44. itsjustmeagain

    itsjustmeagain

    Joined:
    Dec 1, 2016
    Posts:
    14
    Unity is leaving SteamVR in the dark? I have developed SteamVR applications for years with VRTK and SteamVR asset plugin.

    Today, I want to start a new Unity VR project and to be honest. I don't really know what to do. Can someone please explain to me what's happening?
     
    JoeStrout and kahunamoore like this.
  45. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,454
    The OpenVR plugin is in the works, you can actually find it right now on github if you know the right place to look. It will be out in a beta soon.
     
    dariony, kahunamoore and demonixis like this.
  46. demonixis

    demonixis

    Joined:
    Aug 20, 2013
    Posts:
    185
    I tried it using the test branch, it's not yet stable, I had many crashes when the headset is not connected. So it's a good idea to wait for the official release.
     
  47. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,454
    I also had lots of UniversalRP (maybe not specific to it) glitches such as flickering terrain and shaders but it's being worked on still
     
  48. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,357
    Is there any tutorial on how to setup latest XR for Androind VR in unity 20193.7f1 with URP ?
     
  49. FinalQ

    FinalQ

    Joined:
    Nov 6, 2016
    Posts:
    1
    (Translator) Please tell me which plugin or SDK to use for the simplest development for a VR PC with maximum devices coverage?
    Is only the SteamVR plugin with URP enough if I want to put the game on Steam? It’s just that the plugin has not been updated since November 2019.
    Honestly, no matter how much I tried to understand this SDK/Plugins mess, I didn’t understand anything. In UE4, everything is much better in this regard, but the engine itself is too complicated for me.
    Unfortunately I have to use unity if I want to finish the game, but no specifics from the developers regarding the future of VR, inconstancy, uncertainty... :(
     
  50. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    http://snapandplug.com/xr-input-too...R/OpenVR-working-with-XR-Interaction-Toolkit?

    I think it's incorrect to call this a "mess". Pre-XR, every VR vendor was making their own proprietary plugins etc but that's to be expected - every few months, new vendors were releasing new hardware features. OpenXR unifies that at a very low-level, and OpenVR unifies it at a mid-level. Unity's XR is then a good attempt to unify this at a high-level. So far, I've found Unity's XR very clear, very easy to understand (it literally takes one or two lines of code to do most basic things) - given that it's not even been released yet.

    The downsides are: Unity is very, very late in bringing this to market ... Valve and Unity seem to be in a commercial war where both of them are trying in small ways to disadvantage each other in VR (I say "seem" - it might just be coincidence, but I'm sure if both corps had chosen to work together, then OpenVR/SteamVR would have been integrated 12 months ago, and probably XR would have shipped sooner for having reused more code/expertise).

    There's also problems with URP/HDRP - but as Unity keeps trying to hide from people URP/SRP/HDRP are awesome but also fundamentally messed-up right now (they are horribly broken for Shader authors and asset developers) and a long way from production, possibly a year or more so I place most of that blame on SRP, not XR :).
     
    jiraphatK and FinalQ like this.