Search Unity

BUG: Tracked controllers don't work when using LoadDeviceByName("OpenVR")

Discussion in 'AR/VR (XR) Discussion' started by shawnblais, Jan 11, 2019.

  1. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    214
    More random regressions from the Unity Team. What else is new :(

    Tested in 2018.2.20.

    Problem 1: When trying to load SteamVR via LoadDeviceByName(), controller tracking never works.
    Problem 2: When setting "None" as primary device, and then loading OpenVR, console is spammed with

    Reproduce Problem 1:
    1. Install SteamVR plugin 1.2, drag CameraRig prefab into empty scene.
    2. Add "OpenVR" and "None" to VR SDK's, in that order.
    3. In frame 1, call XRSettings.LoadDeviceByName("None");
    4. In subsequent frame, call XRSettings.LoadDeviceByName("OpenVR");
    5. Observe how controllers are not tracked but headset is.

    Reproduce Problem 2:
    1. Install SteamVR plugin 1.2, drag CameraRig prefab into empty scene.
    2. Add "None" and "OpenVR" to VR SDK's, in that order.
    3. In any frame, call XRSettings.LoadDeviceByName("OpenVR");
    4. Observe as console is spammed with errors and tracking does not work at all



    So currently, it's not possible to have a VR app that can startup in Non-VR mode and switch on. This is a requirement for our project. Really disappointing that in every new version of Unity, previously working solutions are constantly breaking, I really don't understand how a release can go through 20 versions, and no one catches a core error like this?
     
  2. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    214
    This also happens in 2018.3.

    Simplest challenge example for the Unity Team:
    1. Set "None" as the first SDK, and try and get OpenVR running. Bet you can't :/
     
    Last edited: Jan 11, 2019