Search Unity

Question SteamVR Runtime not providing correct Device tracking mode

Discussion in 'VR' started by NNighteyes, May 4, 2023.

  1. NNighteyes

    NNighteyes

    Joined:
    Jul 9, 2017
    Posts:
    5
    Hello,

    Unity: 2022.2.13
    steamvr : 1.26.2
    XR packages: latest at 4 May 2023

    Basically when setting the Requested tracking origin mode to Device, steamvr doesnt seem to work correctly.
    It seems to do it for around 3 seconds and then the screen flickers for 1 frame a bit, and now now its not in device mode anymore, I can check with GetTrackingOriginMode() and it will always say device but not behave like it.

    What's really weird is that a few days ago I was working on it and it did work correctly but today I come back and it does not.

    The way I am testing if it's really relative to an origin of the headset is by using OpenVRAdvancedSettings to play space ( shift the play space origin so the floor origin around).
    When doing this during those 3 seconds mentioned above it doesnt budge but after the flicker I can move the play space around just as if it was in floor mode relative to an origin of the space.

    The end goal is to not have the players being able to play space in game, so relative to an initial headset pos would be ideal.

    1. Is it just a steamvr openxr runtime issue that has nothing to do with unity?
    2. If I'm stuck with stage/floor mode, do you guys think it's possible for me to kinda do my own relative mode ? ( calculate the runtime's (0,0,0) in world space, check if it is being moved, reset if it does)
    3. Any other ideas that you have to prevent play spacing in your games?

    Thank you!
     
  2. NNighteyes

    NNighteyes

    Joined:
    Jul 9, 2017
    Posts:
    5
    Maybe with this? https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrEventDataReferenceSpaceChangePending.html

    Does unity expose it?

    EDIT: https://docs.unity3d.com/Packages/c...OpenXRFeature_OnAppSpaceChange_System_UInt64_

    But what to do with that xrSpace ulong.... hmmm any tips ?

    EDIT2: well, onappspacechange isnt being called, which i presume is because steamvr runtime isnt sending the Xr event above.. really nothing I can do now, just focus on other solutions that are only application side to prevent origin shifting to have an effect on gameplay.
     
    Last edited: May 4, 2023