cancel
Showing results for 
Search instead for 
Did you mean: 

True Recenter on Quest 2 ??

i tried some methods to recenter / reset / calibrate position but got no success !!

like as:

OVRManager.display.RecenterPose();
OVRPlugin.RecenterTrackingOrigin(OVRPlugin.RecenterFlags.Default);
OVRPlugin.SetTrackingCalibratedOrigin();
UnityEngine.XR.InputTracking.Recenter();

 

and the only way to do that is using Reset view of Quest 2:

 

recenter.jpg

 

so, is it possible to direct call this function by unity?

 
1 ACCEPTED SOLUTION

Accepted Solutions

Pretty sure Oculus decided not to implement recentering on Quest as "all players should know about holding the system button to do it". It's not great but there doesn't seem to be a way around it. Only solution I've found is to reposition the world at the player's origin.

btw. you're asking a lot of questions that have been asked and answered previously. Do take the time to search before posting (e.g. https://forums.oculusvr.com/t5/Unity-Development/XR-Recenter-Not-working-in-Oculus-Quest-2-Unity-XR-...)

View solution in original post

4 REPLIES 4

Pretty sure Oculus decided not to implement recentering on Quest as "all players should know about holding the system button to do it". It's not great but there doesn't seem to be a way around it. Only solution I've found is to reposition the world at the player's origin.

btw. you're asking a lot of questions that have been asked and answered previously. Do take the time to search before posting (e.g. https://forums.oculusvr.com/t5/Unity-Development/XR-Recenter-Not-working-in-Oculus-Quest-2-Unity-XR-...)

josiah.kerr.1
Honored Guest

I have been looking for a way to do this for 2 days, I absolutely need to re-center the players positions at certain points in my game (player needs to take the headset off and hand to friend), and I am using hand tracking so there is no access to the re-center button (and I don't want the player to have to use the menu)

I have tried every technique on the forums but none seem to work, right now I am trying to apply the offset of the main camera to the OVRCameraManager prefab object like this (does not work / results in inconsistent rotations):

Vector3 newPos = new Vector3(-MainCamera.position.x, 0, -MainCamera.position.z);
Quaternion newRot = Quaternion.Euler(new Vector3(0, -MainCamera.eulerAngles.y, 0));



As I mentioned, an option is to move the world in relation to the player. I did this by placing all environment gameObjects (meshes, lights, probes, etc.) into a single parent. When you need to recenter you can reset that transform in relation to the player's x,z position and y rotation . It won't work for all games/experiences (skybox and directional light are trickier to manage) but it does the trick in simple interiors.

this is embarrassment for Oculus and Facebook too ...

 

why user have to go to the menu outside of running full screen app and click and click and click to recenter to get correct view and if its not good, then click and click and click to recenter!! and then click to back to the app!!

specifically if this app is hands base and not controller base!!

 

this is ridiculous ...