I currently am using Unity to develop virtual reality applications. I use the SteamVR plugin. A specific issue I have run into is that I am using SteamVR events to trigger some logic. Example: I listen for SteamVR's boolean action "HeadsetOnHead". I have logic to begin the game when the headset is first placed on the user's head. This all works in my dev environment which is only using SteamVR.
The logic is such that the screen is black before the user places the headset on their head. When the player puts on the headset, the logic is triggered to reposition the player to the proper 'start position', then the black screen fades to the actual scene. This is all to make sure the user starts correctly and the movement doesn't cause any unnecessary motion sickness.
However, when I build and deploy to our Optitrack system, the logic no longer appears to get executed when this boolean is changed.
My question is, does Optitrack's SteamVR plugin override more than just the tracking? I feel like the headset should still register when the user places the headset on their head (or takes it off), but it appears as though the headset no longer has this SteamVR_Action_Boolean to listen to when SteamVR and Motive are working with each other.
I have tested both in the Unity editor and in a standalone build on my machine, and both work. I believe the issue is that Motive overrides more than the tracking itself, so I need to find a different way to trigger the logic I have. I posted here first to see if I am missing anything.
2 posts • Page 1 of 1
I am going to mark this as resolved. I did not have to do anything. I think I wound up putting the wrong build to test in the Optitrack environment. For anyone else reading this, if you are using anything from SteamVR everything should work with no extra effort on your end. (Just make sure you are using the correct version of SteamVR in your dev environment! Ex: 1.15.12).