Namespace UnityEngine.XR.Interaction.Toolkit
Classes
ActionBasedContinuousMoveProvider
Locomotion provider that allows the user to smoothly move their rig continuously over time using a specified input action.
ActionBasedContinuousTurnProvider
Locomotion provider that allows the user to smoothly rotate their rig continuously over time using a specified input action.
ActionBasedController
XRBaseController MonoBehaviour that interprets Input System events into XR Interaction Interactor position, rotation, and interaction states.
ActionBasedControllerEditor
ActionBasedSnapTurnProvider
A locomotion provider that allows the user to rotate their rig using a 2D axis input from an input system action.
BaseTeleportationInteractable
This is intended to be the base class for all Teleportation Interactables. This abstracts the teleport request process for specializations of this class.
CharacterControllerDriver
Drives a CharacterController height upon locomotion events of a LocomotionProvider.
ContinuousMoveProviderBase
Locomotion provider that allows the user to smoothly move their rig continuously over time.
ContinuousTurnProviderBase
Locomotion provider that allows the user to smoothly rotate their rig continuously over time.
DeviceBasedContinuousMoveProvider
Locomotion provider that allows the user to smoothly move their rig continuously over time using a specified 2D axis input.
DeviceBasedContinuousTurnProvider
Locomotion provider that allows the user to smoothly rotate their rig continuously over time using a specified 2D axis input.
DeviceBasedSnapTurnProvider
GizmoHelpers
Utility functions related to Gizmos.
LocomotionProvider
The LocomotionProvider is the base class for various locomotion implementations. This class provides simple ways to interrogate the LocomotionSystem for whether a locomotion can begin and simple events for hooking into a start/end locomotion.
LocomotionSystem
The LocomotionSystem object is used to control access to the XR Rig. This system enforces that only one Locomotion Provider can move the XR Rig at one time. This is the only place that access to an XR Rig is controlled, having multiple instances of a LocomotionSystem drive a single XR Rig is not recommended.
SnapTurnProviderBase
A locomotion provider that allows the user to rotate their rig using a 2D axis input.
TeleportationAnchor
An anchor is a teleportation destination which teleports the user to a pre-determined specific position and/or rotation.
TeleportationArea
An area is a teleportation destination which teleports the user to their pointed location on a surface.
TeleportationProvider
The TeleportationProvider is responsible for moving the XR Rig to the desired location on the user's request.
XRBaseController
XRBaseControllerInteractor
Abstract base class from which all interactors that are controller driven derive. This class hooks into the interaction system (via XRInteractionManager) and provides base virtual methods for handling hover and selection. Additionally, this class provides functionality for checking the controller's selection status and hiding the controller on selection.
XRBaseInteractable
Abstract base class from which all interactable behaviours derive. This class hooks into the interaction system (via XRInteractionManager) and provides base virtual methods for handling hover and selection.
XRBaseInteractor
Abstract base class from which all interactor behaviours derive. This class hooks into the interaction system (via XRInteractionManager) and provides base virtual methods for handling hover and selection.
XRController
XRBaseController MonoBehaviour that interprets feature values on an input device in the XR input subsystem into XR Interaction Interactor position, rotation, and interaction states.
XRControllerEditor
XRControllerRecorder
MonoBehaviour that drives interaction recording and playback (via XRControllerRecording assets).
XRControllerRecorderEditor
XRControllerRecording
The XRControllerRecording ScriptableObject stores position, rotation, and Interaction state changes from the XR Controller for playback.
XRControllerState
XRDirectInteractor
Interactor used for directly interacting with interactables that are touching. This is handled via trigger volumes that update the current set of valid targets for this interactor. This component must have a collision volume that is set to be a trigger to work.
XRGrabInteractable
Interactable component that allows basic "grab" functionality. Can attach to selecting interactor and follow it around while obeying physics (and inherit velocity when released).
XRInteractableEvent
UnityEvent that responds to changes of hover, selection, and activation by this interactable.
XRInteractionManager
The Interaction Manager acts as an intermediary between Interactors and Interactables. It is possible to have multiple Interaction Managers, each with their own valid set of Interactors and Interactables. Upon Awake both Interactors and Interactables register themselves with a valid Interaction Manager (if a specific one has not already been assigned in the inspector). The loaded scenes must have at least one Interaction Manager for Interactors and Interactables to be able to communicate.
XRInteractionUpdateOrder
The update order for MonoBehaviours in XR Interaction.
XRInteractorEvent
UnityEvent that responds to changes of hover and selection by this interactor.
XRInteractorLineVisual
Interactor helper object aligns a LineRenderer with the Interactor.
XRInteractorReticleVisual
Interactor helper object draws a targeting reticlePrefab over a raycasted point in front of the Interactor.
XRRayInteractor
Interactor used for interacting with interactables at a distance. This is handled via raycasts that update the current set of valid targets for this interactor.
XRRayInteractor.RaycastHitComparer
XRRig
The XR Rig component is typically attached to the base object of the XR Rig, and stores the GameObject that will be manipulated via locomotion. It is also used for offsetting the camera.
XRRigEditor
XRSimpleInteractable
This is the simplest version of an Interactable object. It simply provides a concrete implementation of the XRBaseInteractable. It is intended to be used as a way to respond to onHoverEntered/onHoverExited and onSelectEntered/onSelectExited events with no underlying interaction behaviour.
XRSocketInteractor
Interactor used for holding interactables via a socket. This component is not designed to be attached to a controller (thus does not derive from XRBaseControllerInteractor) and instead will always attempt to select an interactable that it is hovering over (though will not perform exclusive selection of that interactable).
XRTintInteractableVisual
Simple Interactable Visual component that demonstrates hover or selection state with emissive tinting. Note: requires use of a shader that supports emission (such as Standard shader) with the variant included in the game build.
Structs
InteractionState
InteractionState type to hold current state for a given interaction.
TeleportRequest
The Teleport Request that describes the result of the teleportation action. Each Teleportation Interactable must fill out a Teleport Request for each teleport action.
Interfaces
ILineRenderable
Get line points and hit point info for rendering.
IXRCustomReticleProvider
An interface that allows interactables to request that an interactor use a custom reticle.
Enums
BaseTeleportationInteractable.TeleportTrigger
ContinuousMoveProviderBase.GravityApplicationMode
Defines when gravity will begin to take effect.
DeviceBasedContinuousMoveProvider.InputAxes
Sets which input axis to use when reading from controller input.
DeviceBasedContinuousTurnProvider.InputAxes
Sets which input axis to use when reading from controller input.
DeviceBasedSnapTurnProvider.InputAxes
Sets which input axis to use when reading from controller input.
MatchOrientation
The option of which object's orientation in the rig will be matched with the destination after teleporting.
RequestResult
The result of a locomotion request.
XRBaseController.UpdateType
The time within the frame that the controller will sample input.
XRBaseControllerInteractor.InputTriggerType
XRBaseInteractable.MovementType
Type of movement for an interactable.
XRInteractionUpdateOrder.UpdatePhase
XRRayInteractor.HitDetectionType
Sets which shape of physics cast to use for the cast when detecting collisions.
XRRayInteractor.LineType
Sets which trajectory path to use for the cast when detecting collisions.