Pose_Recentered signal not triggering through cpp.

Godot Version

4.3 Stable

Question

All the other main signals work perfectly but pose_recentered doesnt trigger at all.

Not much to go on here, for me pose_recentered works as intended. pose_rencentered is emitted when you trigger a recenter action from within the headset, so holding the meta button on the right controller for a few seconds on Quest, or selecting the recenter option in the SteamVRs menu.

If you’re using the stage reference space you’re responsible for reacting to this signal and actually performing the recenter. For local and local floor reference spaces, the headset will perform the recenter and the signal is emitted so you can make any further adjustments as needed.

All my code is correct but when I recenter on steam vr a signal for pose_recentered is not emitted.

All I can say is that it works for me, both in Oculus runtimes and in SteamVR. So there must be a mistake somewhere.

Im telling you the code is correct every other open xr signal emits except that one. Could be because im testing the build through the editor but i doubt that.

Can you create an example project. There has to be a difference between what you are doing, and what I am doing.

ClassDB::bind_method(D_METHOD(“OnPoseRecentered”), &OpenXRInterfaceManager::OnPoseRecentered);

m_XRInterface->connect(“pose_recentered”, Callable(this, “OnPoseRecentered”));

Well, I’m stumped, that should work. Very strange.

Sorry for the late update on this, having had to dive back into this during the week things have indeed been changing. I’m still trying to get to the bottom of things but it looks like runtimes have been redefining what happens when the user triggers a recenter and the “stage” reference space is used ever since the “local_floor” reference space was introduced.

So the reason why I wasn’t having a problem, and the OP here was, was because the goalposts were being moved.

We actually don’t get a proper recenter event, what we instead get is an event that tells us the reference space has changed and that event no longer has the same content as before.

I’m currently discussing to see what the right way to react to this is, and whether we even can react to this in the current interpretation of the specification.