Forum Discussion

Kotowicz.Si2G's avatar
21 days ago

Building Blocks are not OpenXR Compatible, are they?

So, it seems there are lots of us out here that are struggling with OpenXR.  Obviously when you read the instructions we're told that we should use OpenXR because Meta is leaning more towards OpenXR...

...yet all the building blocks are for the old Oculus plugin and don't work in OpenXR.  Is that correct?

For instance, setup a Unity project as OpenXR and then drag the Controllers building block in - it attaches itself to the OVR Rig and not the OpenXR rig.

Also, we're recommended to use URP, but that only works with OpenXR, as the OVR Rig generates errors in URP.

So, what is the offical line? Which method are we supposed to be developing with in Unity?  And can you link an updated and definitive set of instructions.  It seems the ones out there are all OVR instructions and not OpenXR.

If we're supposed to be using OpenXR, how do we get it to display Quest controllers?

Thanks everyone!

6 Replies

  • I haven't had any issues with OpenXR / URP, and I'm using the building blocks for many features.

    I'm puzzled by your statement:

    "it attaches itself to the OVR Rig and not the OpenXR rig."

    Are you using BOTH? My process has been: 1) Install the plugin manager, 2) enable the "OpenXR" plugin (instead of the Oculus one), 3) add an OVRCameraRig prefab -OR- drag a camera rig building block

    I dont have (or add) an "OpenXR rig".

     

    • Kotowicz.Si2G's avatar
      Kotowicz.Si2G
      Explorer

      If you use the OVRCameraRig, it generates errors in URP.  Also, if you're not going to use the OpenXR rig, why install OpenXR?  The OVRCameraRig is for the original Oculus plugin.

      • JeffNik's avatar
        JeffNik
        MVP

        I just read up on the topic, and I see that you are correct.I knew that Meta was pushing us to OpenXR. I have been using OVRCameraRig with the OpenXR plugin, and getting no errors or problems - so I assumed that that was the correct way to set it up.  I had not seen any documentation that mentions the "OpenXR Rig". I'm looking forward to learning more tonight after work.

         

  • SO - I'm not finding any current documentation about whether they want us to use the "XR Origin (VR)" rig or the BuildingBlock route. I *CAN* tell you that my standard setup of using the OpenXR plugin in the plugin manager along with the BuildingBlocks (Camera Rig block, passthrough block, interaction blocks) and not using the Unity OpenXR Interaction stuff has been working fine for me, and I'm confident it's utilizing OpenXR instead of the Oculus plugin. Last night, I tried to go your route, using the XR Origin (VR) from the OpenXR Interation library. I got a scene working but could not use the BuildingBlocks - as you say it added a Meta rig and used that instead - so I'm confident your original post about the blocks not being OpenXR friendly was correct. I'm fairly familiar with building the Meta features by manually adding the scripts, etc, but have found the building blocks to be very convenient for getting features implemented quickly - so I'll probably continue to use them instead of the Unity OpenXR stuff going forward. 

    Let me know which way you decide to go - I'm curious.

  • There two ways I've gotten my VR game working:

    1. The Oculus Method
      Built In Render Pipeline
      XR Plug-In Management > Oculus
      OVR Interaction Rig
      Meta XR Tools’ Building Blocks.
    2. The OpenXR Method
      URP
      XR Plug-In Management > OpenXR
      UnityXRCameraRig
      (Building Blocks Don't Work)

    Both of these setups work without errors.  Any deviation or variation causes errors and warnings and, quite often, a serious drop in frame rates.

    The UnityXRCameraRig doesn't have an out of the box solution for hands or controllers to be visible in the scene, but I add controllers manually.,  The buttons and joystick don't animate yet, but it would be less than a day's work to build my own animations based on controller inputs.

    The lack of clear documentation is frustrating for me, as I'm working solo and have noone else to ask.
    Perhaps it's realted to versions of SDKs and Unity?
    I'm on:

    Unity 6 LTS

    Meta XR Interaction SDK 77.0.0

    Unity OpenXR Meta which has a dependency on OpenXR Plugin
    (Which I read is the correct thing somewhere on this forum)

    XR Plug-In Management > OpenXR
    (Meta Quest Feature Group and Meta XR feature group both checked true)

    Universal Render Pipeline

    What's even more unclear, the more I read, is that Meta has stated that the OVR Interaction Rig development has been discontinued since version 57!  Which brings me back to my original question - If OVR Interaction Rig has been deprecated and new building blocks are still being developed, why can't I get them to work with OpenXR and UnityXRCameraRig?  Perhaps I'm missing an offical Meta-compatible OpenXR rig?

    If only Meta would present an up-to-date and 100% factually correct set of documentation I wouldn't be wasting my time searching for anwsers.

    Thanks!