Unity VR: Teleportation Movement
Intro
The movement in VR can lead to “VR Motion Sickness” or “Simulator Sickness”. This is caused by the brain seeing your body move, but in reality it is not. Poor brain…it gets confused. Teleportation locomotion solves this by instantly moving the player to a new location without simulating walking.
It also provides other benefits like:
- Provides movement for room-scale environments that may require you to seat or stand.
- Reduces the risk of bumping into real-world obstacles
- Fast navigation by letting players move long distances quickly.
It requires a few things to get working properly:
- XR Teleportation Interactables — Lets the user aim/select where to teleport (usually via ray).
- XR Teleportation Provider — Actually moves the XR Origin when a teleport is triggered.
- XR Origin — The parent object representing the player’s position — this is what gets moved.
- Ray Interactor — Left/Right Hand ray interactors on controls that trigger the teleportation to valid teleportation areas.
Teleportation Provider
The Teleportation Provider is a component in Unity’s XR Interaction Toolkit that handles the moving (teleporting) the player’s XR Origin from one location to another in the scene. It accomplishes this by listening for teleportation requests from XR Interactors (like the XR Ray Interactor or XR Teleportation Interactor) and moves the XR Origin (player) to the desired location.
Just assign the Locomotion Mediator that is attached to the same XR Origin as the Teleportation Provider. Remember the Locomotion Mediator manages access to movement systems like teleportation, snap turning, or continuous movement to ensure they don’t conflict with each other.
So, the movement logic is handled with this component, it just needs to know where to move to–in comes the Teleportation Interactor.
XR Teleportation Interactables
Teleportation Interactable come in two flavors: Teleportation Area and Teleportation Anchor
Teleportation Area
A Teleportation Area is a large surface where the player is allowed to teleport anywhere within that surface.
On a game object that you would like to make into an Teleportation Area attach a collider and the Teleportation Area component to it. Assign the Collider to the Collider list on the Teleportation component.
Teleportation Anchor
A Teleportation Anchor is a specific predefined location where the player will teleport to — like a “teleport target.”
Conclusion
Teleportation in VR reduces motion sickness, enables quick navigation, and ensures safe movement. Developers can create user-friendly teleportation systems using Teleportation Providers, Teleportation Interactables, and the XR Interaction Toolkit. Teleportation is a reliable and comfortable movement solution for virtual environments, whether it’s across large areas or to specific locations.