Vive: player y position keeps changing

This bug keeps coming back and I can’t seem to find a fix. My HTC Vive seems to randomly put the player at an y position. Sometimes under the ground, sometimes floating above the ceiling. Weirdly enough, children objects of the camera don’t move with it: so I can’t lock anything to be always in view of the camera.

The only temporary fix I have found is by using an Update function that hardcodes the player.position.y, but this only works for a few times before the Vive decided to scramble it all up again.

How can I fix this? Can I somehow tell the Vive to always use object or position as starting position?

Thanks

As an addition: the height is different in the editor than in playmode, making hardcoding values impossible as well.

Editor shows as if the headset is on the floor.

I would get The Lab Renderer from the asset store and see if it has the same problem in order to rule out something in your project.

I have had this problem intermittently but it appeared to be a Vive problem rather than Unity specific since it also occurred when in the Vive home scene. I think restarting SteamVR fixed it for me.

Have you tried recalibrating in SteamVR? At the top left of the little SteamVR window is a drop down box. Click that and then “run room setup.” Make sure when you calibrate it you set the headset down on the floor (or close to it) when it asks you to. The first time I ran it I failed to do that and the default view was at floor level because I calibrated both settings while sitting in my chair at about the same head height.