How are we meant to teleport?

Do we just use XR interaction toolkit to do this? Is there anything in the vision os packages that show this being used?


Bumping this. I tried using XR interaction’s Teleportation Provider and while it’ll move you, it doesn’t move where the gaze originates from.
Moving only the XR Origin or Camera Offset also doesn’t do anything.

Also seems like theres a descrepancy with the gaze start location using:

var primaryTouch = m_PointerInput.Default.PrimaryPointer.ReadValue<VisionOSSpatialPointerState>();
var ray = new Ray(primaryTouch.startRayOrigin, primaryTouch.startRayDirection);

In the editor, after moving the xr origin, the startRayOrigin is correct, but in the device, the startRayOrigin seems to be stuck to the original location (+/- wherever the head moved). So no matter how far you manually shift the XR Origin, the startRayOrigin is around 0,0,0

1 Like

Were you able to figure out a way to teleport? I’m running into exactly the same issues.

I was able to workaround this for the time being by using the startRayOrigin value from the TrackedPoseDriver component instead of ReadValue<VisionOSSpatialPointerState>()

Edit: I was only able to use the workaround above with XROrigin.MoveCameraToWorldLocation