GameObject | Components | Description |
---|---|---|
XR Interaction Manager | XR Interaction Manager | Enables XR interactions between the interactors and interactables in your scene. |
EventSystem |
Event System XR UI Input Module Canvas Optimizer |
The XR Poke Interactor and XR Ray Interactor communicate with the XR UI Input Module to enable UI pointer events in world space canvases. |
XR Origin (XR Rig) | Prefab, see below. |
GameObject | Components | Description | ||||
---|---|---|---|---|---|---|
XR Origin (XR Rig) |
XR Origin Character Controller Input Action Manager XR Input Modality Manager XR Gaze Assistance |
Represents the center of the tracking space for the user's tracked devices. Implements the generic concept of a camera rig. This is the GameObject moved when doing locomotion. The Character Controller allows the move locomotion providers to move the rig without moving through colliders. The Input Action Manager enables the input actions used by the interactors. Input actions in an Input Action Asset are not enabled by default, so this component will automatically enable them. The XR Input Modality Manager component manages automatically swapping between sets of interactors used for hand tracking (Left Hand and Right Hand GameObjects) and for motion controllers (Left Controller and Right Controller GameObjects) by activating or deactivating those GameObjects. | ||||
Camera Offset | Transform y-axis is automatically adjusted by the XR Origin component based on the tracking origin mode in order to place the tracked XR devices at the correct height from the floor. Floor will set this to 0. Device will set this to the fixed height set by Camera Y Offset. | |||||
Main Camera |
Camera Audio Listener Tracked Pose Driver |
Pose driven by the HMD. | ||||
Gaze Interactor |
XR Gaze Interactor Gaze Input Manager Tracked Pose Driver |
Interactor which represents the eye gaze (if available) or the HMD direction. Interactables can interact with it if configured to do so under its Gaze Configuration foldout. The Gaze Input Manager will deactivate this GameObject when eye tracking is unavailable if falling back to HMD head tracking is not desired. This GameObject is deactivated by default to disable gaze interaction. | ||||
Gaze Stabilized | XR Transform Stabilizer | Stabilized eye gaze pose used as the Ray Origin Transform of the XR Gaze Interactor. | ||||
Gaze Stabilized Attach | Stabilized pose used as the Attach Transform of the XR Gaze Interactor. | |||||
Left/Right Controller |
Controller Input Action Manager XR Interaction Group Haptic Impulse Player Tracked Pose Driver |
Pose driven by the left or right controller. The XR Interaction Group handles mediation between the interactors so only one can select at a time and so visuals can be disabled. The Controller Input Action Manager is what is responsible for swapping between the Ray Interactor and Teleport Interactor when Teleport Mode Activate input action is performed. It also toggles input actions used by locomotion while the XR Ray Interactor is selecting to resolve overlapping input bindings with the Attach Transform Manipulation controls. The Haptic Impulse Player is shared by each of the interactors and is how the interactors play haptic vibrations. | ||||
Poke Interactor |
XR Poke Interactor Simple Haptic Feedback |
Interactor used for interacting with interactables by poking. | ||||
Poke Point | The Attach Transform of the XR Poke Interactor. Also serves as a visual representation of where a poke happens. | |||||
Direct Interactor |
XR Direct Interactor Sphere Collider Simple Haptic Feedback |
Interactor used for interacting with interactables by grabbing at close range. The Sphere Collider is configured as a trigger collider and used by the XR Direct Interactor to detect collisions with interactables. | ||||
Ray Interactor |
XR Ray Interactor Line Renderer XR Interactor Line Visual Sorting Group Simple Haptic Feedback |
Interactor used for interacting with interactables by grabbing at a distance. Uses physics ray casts to detect collisions with interactables. The Sorting Group is used to make the line visual draw in the expected order over UI. | ||||
Teleport Interactor |
XR Ray Interactor Line Renderer XR Interactor Line Visual Sorting Group Simple Haptic Feedback |
Similar to the Ray Interactor but configured to use a Projectile Curve and only interact with interactables on the Teleport interaction layer mask. It also sets the Select Input property to use Teleport Mode instead. | ||||
Left/Right Controller Stabilized | XR Transform Stabilizer | Stabilized left or right controller pose used as the Ray Origin Transform of the XR Ray Interactor. | ||||
Left/Right Controller Stabilized Attach | Stabilized pose used as the Attach Transform of the XR Ray Interactor. | |||||
Locomotion |
Locomotion Mediator XR Body Transformer |
Holds a reference to the XR Origin which the locomotion providers use to move or rotate the player. Controls access to the XR Origin to ensure only one locomotion provider can move it at a time when locked. | ||||
Turn |
Snap Turn Provider Continuous Turn Provider |
Locomotion providers which handle turning (rotating) the player, either in fixed angle intervals or continuously over time, typically via thumbstick input. The Controller Input Action Manager enables or disables the input actions to control whether snap turn or smooth turn is used. | ||||
Move | Dynamic Move Provider | Locomotion provider which handles moving (translating) the player continuously over time, typically via thumbstick input. | ||||
Grab Move |
Grab Move Provider Grab Move Provider Two-Handed Grab Move Provider |
Locomotion providers which handle moving and/or turning the player typically via squeezing the grip of a controller and moving them as if grabbing the whole world and pulling. This GameObject is deactivated by default to disable this locomotion style. | ||||
Teleportation | Teleportation Provider | Locomotion provider which handles teleporting the player to a desired location. This component is what allows the Teleportation Anchor and Teleportation Area components to move the player when they are triggered, in this case by the Teleport Interactor. | ||||
Climb | Climb Provider | Locomotion provider which handles moving the player counter to controller movement while they are grabbing a Climb Interactable. |