I am having the same problem as the OP, but on quest 3 with any version of UE5.
(Right now using 5.5.3, but the last couple of versions, including the fork from Meta had the same results), hence the necro post, rather than making a new thread.
(Incidentally, many others are also still having these issues, with similar postings on the Meta forums)
So if we are all doing the same thing wrong, we need to identify it and get the right education out there.
At this point, I would be delighted to be told I’m an idiot and pointed to a ‘correct’ way of doing things.
I understand that there is the difference between the player’s position in terms of the root of the player pawn, and potentially the current position of the players HMD relative to that root.
However, on Beginplay, I am resetting EVERTHING to 0 (relative positions and rotations)
(I do this after a brief timer callback, just to give everything time to settle, in case that matters)
I am also calling UHeadMountedDisplayFunctionLibrary::ResetOrientationAndPosition();
Nothing seems to work though. What I (and most other similar comments I saw) want when we start a level is to have the player start at the player start, not offset from it based on where they are in their physical room. (That only makes any sense in AR)
I’m not using (and i didnt even enable) spatial anchors, or any of that funky AR jazz.
This to me doesnt feel like its a UE problem, it feels like its a Meta Quest issue.
Based on the last comment @VictorLerp; do I really need to write some ugly code in my VRCharacter’s beginplay to go find the PlayerStart actor, and then manually teleport back to it again?
I mean, if I must then I must, but it feels kinda wrong. The quest should just start me at the player start - not add some offset to it.
If I had walked in the real world AFTER starting the game, sure, I want that.