Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Native Oculus VR SDK (Mobile) is always selected when it shouldn't be

Discussion in 'AR/VR (XR) Discussion' started by Jeff-Rosenberg, Oct 20, 2016.

  1. Jeff-Rosenberg

    Jeff-Rosenberg

    Joined:
    Oct 23, 2012
    Posts:
    26
    I just started integrating Gear VR using Unity's native support, and I've noticed that the build will always start in Oculus/Gear VR mode even if there are other SDKs listed above it. Cardboard and Daydream play by the rules, but Oculus' SDK shows the following screen if it's included anywhere in the native VR SDKs:

    Bully 2.jpg

    Bully 1.PNG

    Attaching the device to the headset makes the window go away and lets me start the app in the correct mode. Even with the Daydream loaded first and falling through to Cardboard I have to plug the phone into the Gear to get the app to start, at which point it loads into Cardboard mode. Removing the phone from the headset forces the game to close, even if Oculus isn't the active SDK.

    20161019_181652.jpg

    From the docs:
    With "None" as the first SDK, it shouldn't ask for a Gear to be plugged in at all. It should start in non-VR mode and let me switch later.

    I'm using the 5.4.1f1-GVR8 Daydream preview build to add support for Cardboard/Daydream, but this problem persists in 5.4.1f1 as well if None is loaded before Oculus.

    What's the solution? Is this just Oculus playing by their own rules? How can I support multiple headsets when the SDK acts like this?
     
    Last edited: Oct 20, 2016
  2. Jeff-Rosenberg

    Jeff-Rosenberg

    Joined:
    Oct 23, 2012
    Posts:
    26
    I think my solution is going to be just to have 2 different Android builds:
    1. Google Play/App Store version with non-vr mode, Cardboard, and Daydream
    2. Oculus Store version with Gear
    I don't like that since it fragments my userbase, but that might be the only solution...