Namespace UnityEngine.XR.Interaction.Toolkit
Classes
BaseTeleportationInteractable
This is intended to be the base class for all Teleportation Interactables. This abstracts the teleport request process for specalizations of this class.
GizmoHelpers
LocomotionProvider
The locomotion provider is the base class for various locomotion implementations. this class provides simple ways to interrogate the locomotion system 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 LocomotionSystems drive a single XR Rig is not recommended.
SnapTurnProvider
TeleportationAnchor
TeleportationArea
TeleportationProvider
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 interactable behaviours derive. This class hooks into the interaction system (via XRInteractionManager) and provides base virtual methods for handling hover and selection.
XRController
XRController MonoBehaviour that interprets InputSystem events into XR Interaction Interactor position, rotation and interaction states.
XRControllerRecorder
MonoBehaviour that drives interaction recording and playback (via XRControllerRecording assets).
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 in a scene.
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 in the scene
(if a specific one has not already been assigned in the inspector). Every scene must have at least one Interaction Mananger
for Interactors and Interactables to be able to communicate.
XRInteractionUpdateOrder
The update order for MonoBehaviour
s in XRInteraction.
This is primarily used to control initialization order as the update of interactors / interaction manager / interactables is handled by the
Interaction managers themselves.
In this case, we want the OnAwake of the interaction manager to occur first. then
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.
XRRig
The XR Rig component is typically attached to the base object of the XR Rig, the game object that will be manipulated via locomotion. It is also used for offsetting the camera.
XRSimpleInteractable
This is the simplest version of an Interactable object. It simply provides a public implementation of the XRBaseInteractable. It is intended to be used as a way to respond to OnHoverEnter/Exit and OnSelectEnter/Exit 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 (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).
Structs
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
IXRCustomReticleProvider
An interface that allows interactables to request that an interactor use a custom reticle
Enums
BaseTeleportationInteractable.TeleportTrigger
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
SnapTurnProvider.InputAxes
This is the list of possible valid "InputAxes" that we allow users to read from.
XRBaseInteractable.MovementType
Type of movement for an interactable
XRController.InputAxes
Available axes to bind interaction actions to.
XRController.UpdateType
The update type being used by the tracked pose driver
XRInteractionUpdateOrder.UpdatePhase
XRRayInteractor.HitDetectionType
XRRayInteractor.LineType
Options of line types.