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
Interprets feature values on a tracked input controller device using actions from the Input System into XR Interaction states, such as Select. Additionally, it applies the current Pose value of a tracked device to the transform of the GameObject.
ActionBasedSnapTurnProvider
A locomotion provider that allows the user to rotate their rig using a 2D axis input from an input system action.
ActivateEvent
UnityEvent that Unity invokes when the selecting Interactor activates an Interactable.
ActivateEventArgs
Event data associated with the event when the selecting Interactor activates an Interactable.
BaseInteractionEventArgs
Event data associated with an interaction event between an Interactor and Interactable.
BaseRegistrationEventArgs
Event data associated with a registration event with an XRInteractionManager.
BaseTeleportationInteractable
This is intended to be the base class for all Teleportation Interactables. This abstracts the teleport request process for specializations of this class.
CanFocusMultipleAttribute
Add this attribute to an XR Interaction component to control whether to allow or disallow multiple focus mode.
CanSelectMultipleAttribute
Add this attribute to an XR Interaction component to control whether to allow or disallow multiple selection mode.
CharacterControllerDriver
Controls a CharacterController height and center position based on the camera's (HMD) position upon locomotion events of a LocomotionProvider (typically the continuous movement provider). This allows the collider on the main XR Origin rig to resize to the player's height before trying to move with thumbstick input.
ClimbInteractable
Interactable that can be climbed while selected.
ClimbProvider
Locomotion provider that allows the user to climb a ClimbInteractable by selecting it. Climb locomotion moves the XR Origin counter to movement of the last selecting interactor, with optional movement constraints along each axis of the interactable.
ClimbSettings
Settings for climb locomotion. These settings can be used globally as part of the ClimbProvider or as overrides per-instance of ClimbInteractable.
ClimbSettingsDatum
ScriptableObject container class that holds a ClimbSettings value.
ClimbSettingsDatumProperty
Serializable container class that holds a ClimbSettings value or a container asset reference.
ConstrainedMoveProvider
Base class for a locomotion provider that allows for constrained movement with a CharacterController.
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.
DeactivateEvent
UnityEvent that Unity invokes when the selecting Interactor deactivates an Interactable.
DeactivateEventArgs
Event data associated with the event when the selecting Interactor deactivates an Interactable.
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
A locomotion provider that allows the user to rotate their rig using a specified 2D axis input. The provider can take input from multiple different devices (such as Left and Right hands).
FocusEnterEvent
UnityEvent that Unity invokes when an Interaction group initiates focusing an Interactable.
FocusEnterEventArgs
Event data associated with the event when an Interaction group gains focus of an Interactable.
FocusExitEvent
UnityEvent that Unity invokes when an Interaction group ends focusing an Interactable.
FocusExitEventArgs
Event data associated with the event when an Interaction group ends focusing an Interactable.
GizmoHelpers
Utility functions related to Gizmos.
GrabMoveProvider
Locomotion provider that allows the user to move as if grabbing the whole world around them. When the controller moves, the XR Origin counter-moves in order to keep the controller fixed relative to the world.
HoverEnterEvent
UnityEvent that Unity invokes when an Interactor initiates hovering over an Interactable.
HoverEnterEventArgs
Event data associated with the event when an Interactor initiates hovering over an Interactable.
HoverExitEvent
UnityEvent that Unity invokes when an Interactor ends hovering over an Interactable.
HoverExitEventArgs
Event data associated with the event when an Interactor ends hovering over an Interactable.
InputHelpers
Helper class for different kinds of input.
InteractableRegisteredEventArgs
Event data associated with the event when an Interactable is registered with an XRInteractionManager.
InteractableUnregisteredEventArgs
Event data associated with the event when an Interactable is unregistered from an XRInteractionManager.
InteractionGroupRegisteredEventArgs
Event data associated with the event when an IXRInteractionGroup is registered with an XRInteractionManager.
InteractionGroupUnregisteredEventArgs
Event data associated with the event when an Interaction Group is unregistered from an XRInteractionManager.
InteractorRegisteredEventArgs
Event data associated with the event when an Interactor is registered with an XRInteractionManager.
InteractorUnregisteredEventArgs
Event data associated with the event when an Interactor is unregistered from an XRInteractionManager.
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 Origin. This system enforces that only one Locomotion Provider can move the XR Origin at one time. This is the only place that access to an XR Origin is controlled, having multiple instances of a LocomotionSystem drive a single XR Origin is not recommended.
LocomotionVignetteProvider
Represents an ITunnelingVignetteProvider with a LocomotionProvider.
SelectEnterEvent
UnityEvent that Unity invokes when an Interactor initiates selecting an Interactable.
SelectEnterEventArgs
Event data associated with the event when an Interactor initiates selecting an Interactable.
SelectExitEvent
UnityEvent that Unity invokes when an Interactor ends selecting an Interactable.
SelectExitEventArgs
Event data associated with the event when an Interactor ends selecting an Interactable.
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 Origin to the desired location on the user's request.
TeleportingEvent
UnityEvent that Unity invokes when queuing to teleport via a TeleportationProvider.
TeleportingEventArgs
Event data associated with the event that Unity invokes during a selection or activation event between an Interactable and an Interactor, according to the timing defined by BaseTeleportationInteractable.TeleportTrigger.
TunnelingVignetteController
Provides methods for ITunnelingVignetteProvider components to control the tunneling vignette material.
TwoHandedGrabMoveProvider
Allows the user to combine two GrabMoveProvider instances for locomotion. This allows the user to translate, scale, and rotate themselves counter to transformations of the line segment between both hands.
VignetteParameters
Represents the parameters to control the tunneling vignette material and customize its effects.
XRBaseController
Interprets feature values on a tracked input controller device into XR Interaction states, such as Select. Additionally, it applies the current pose value of a tracked device to the transform of the GameObject.
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 behaviors derive. This class hooks into the interaction system (via XRInteractionManager) and provides base virtual methods for handling hover, selection, and focus.
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
Interprets feature values on a tracked input controller device from the XR input subsystem into XR Interaction states, such as Select. Additionally, it applies the current Pose value of a tracked device to the transform of the GameObject.
XRControllerRecorder
MonoBehaviour that controls interaction recording and playback (via XRControllerRecording assets).
XRControllerRecording
The XRControllerRecording ScriptableObject stores position, rotation, and Interaction state changes from the XR Controller for playback.
XRControllerState
Represents the current state of the XRBaseController.
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.
XRFocusInteractableExtensions
Extension methods for IXRFocusInteractable.
XRGazeAssistance
Allow specified ray interactors to fallback to eye-gaze when they are off screen or pointing off screen. This component enables split interaction functionality to allow the user to aim with eye gaze and select with a controller.
XRGazeAssistance.InteractorData
Contains all the references to objects needed to mediate gaze fallback for a particular ray interactor.
XRGazeInteractor
Interactor used for interacting with interactables via gaze. This extends XRRayInteractor and uses the same ray cast technique to update a current set of valid targets.
XRGrabInteractable
Interactable component that allows for basic grab functionality. When this behavior is selected (grabbed) by an Interactor, this behavior will follow it around and inherit velocity when released.
XRGroupMemberExtensions
Extension methods for IXRGroupMember.
XRHoverInteractableExtensions
Extension methods for IXRHoverInteractable.
XRHoverInteractorExtensions
Extension methods for IXRHoverInteractor.
XRInteractableSnapVolume
Utility component for supporting interactors snapping and and selecting interactables. Add this component to a child GameObject of the interactable.
XRInteractionGroup
Behaviour implementation of IXRInteractionGroup. An Interaction Group hooks into the interaction system (via XRInteractionManager) and enforces that only one IXRGroupMember within the Group can interact at a time. Each Group member must be either an IXRInteractor or an IXRInteractionGroup.
XRInteractionGroup.GroupNames
These correspond to the default names of the Interaction Groups in the sample XR Rig.
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 being enabled, 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 MonoBehaviour types in XR Interaction Toolkit.
XRInteractorExtensions
Extension methods for IXRInteractor.
XRInteractorLineVisual
Interactor helper object aligns a LineRenderer with the Interactor.
XRInteractorReticleVisual
Interactor helper object that draws a targeting reticlePrefab over a ray casted point in front of the Interactor.
XRPokeInteractor
Interactor used for interacting with interactables through poking.
XRRayInteractor
Interactor used for interacting with interactables at a distance. This is handled via ray casts that update the current set of valid targets for this interactor.
XRRayInteractor.RaycastHitComparer
Compares ray cast hits by distance, to sort in ascending order.
XRScreenSpaceController
Interprets screen presses and gestures by using actions from the Input System and converting them into XR Interaction states, such as Select. It applies the current press position on the screen to move the transform of the GameObject.
XRSelectInteractableExtensions
Extension methods for IXRSelectInteractable.
XRSelectInteractorExtensions
Extension methods for IXRSelectInteractor.
XRSimpleInteractable
The simplest Interactable object which provides events for interaction states like hover and select.
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.
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
DistanceInfo
Struct used to get information back from a distance calculation between an object and a location.
InteractionLayerMask
Specifies Interaction Layers to use in XR interactions.
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
IAdvancedLineRenderable
An advanced interface for providing line data for rendering with additional functionality.
ILineRenderable
Get line points and hit point info for rendering.
ITunnelingVignetteProvider
An interface that provides VignetteParameters needed to control the tunneling vignette effect.
IXRActivateInteractable
An interface that represents an Interactable component which Interactor components can activate. Not to be confused with the active state of a GameObject, an activate event in this context refers to a contextual command action, such as toggling a flashlight on and off.
IXRActivateInteractor
An interface that represents an Interactor component that can activate an Interactable component. Not to be confused with the active state of a GameObject, an activate event in this context refers to a contextual command action, such as toggling a flashlight on and off.
IXRAimAssist
An interface that allows for computing an altered projectile velocity to allow for assisted aiming. This can be used to allow a user to throw a grab interactable to where they are looking.
IXRCustomReticleProvider
An interface that allows Interactables to request that an Interactor use a custom reticle.
IXRFilterList<T>
A list of items.
IXRFocusInteractable
An interface that represents an Interactable component which an Interactor component can persistently select.
IXRGroupMember
An interface that represents an object that can be contained as a member in an IXRInteractionGroup. A Group member can be either an Interactor or another Group. Only one member in a Group can perform interaction at a time.
IXRHoverInteractable
An interface that represents an Interactable component which Interactor components can hover over.
IXRHoverInteractor
An interface that represents an Interactor component that can hover over an Interactable component.
IXRInteractable
An interface that represents an Interactable component that controls how a GameObject interacts with an Interactor component. An example is a Grab Interactable which can be picked up and moved by an Interactor.
IXRInteractionGroup
An interface that represents an Interaction Group component that enforces that only one IXRGroupMember within the Group can interact at a time.
IXRInteractionOverrideGroup
An interface that represents an Interaction Group component that is capable of overriding the interaction of the activeInteractor when another interactor tries to select any of the interactables being hovered or selected. An interactor can only override interaction when it is or is contained within a Group member that is configured as a possible override for the active Group member.
IXRInteractionStrengthInteractable
An interface that represents an Interactable component which
can express an interaction strength amount, which is a normalized value [0.0, 1.0]
that describes the strength of selection.
IXRInteractionStrengthInteractor
An interface that represents an Interactor component which
can express an interaction strength amount, which is a normalized value [0.0, 1.0]
that describes the strength of selection.
IXRInteractor
An interface that represents an Interactor component that controls how a GameObject interacts with an Interactable component. An example is a Ray Interactor which uses ray casting to find valid Interactable objects to manipulate.
IXROverridesGazeAutoSelect
An interface that represents an interactable that provides overrides of the default values for hover to select and auto deselect.
IXRRayProvider
An interface that represents a Transform-driven XR Ray.
IXRReticleDirectionProvider
An interface that provides the rotation of a reticle to match an interactor's attach transform.
IXRScaleValueProvider
Defines an interface for scale value providers.
IXRSelectInteractable
An interface that represents an Interactable component which an Interactor component can select.
IXRSelectInteractor
An interface that represents an Interactor component that can select an Interactable component.
IXRTargetPriorityInteractor
An interface that represents an Interactor component that monitors the Interactables with priority for selection in a frame (called Targets), useful for custom feedback.
Enums
BaseTeleportationInteractable.TeleportTrigger
Indicates when the teleportation action happens.
ConstrainedMoveProvider.GravityApplicationMode
Defines when gravity begins to take effect.
ContinuousMoveProviderBase.GravityApplicationMode
Defines when gravity begins 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.
EaseState
Options for displaying easing transitions of the tunneling vignette effect to reduce potential distractions from instantaneously changing the user's field of view.
InputHelpers.Axis2D
A list of 2D axis inputs that can be bound to.
InputHelpers.Button
A list of buttons that can be bound to.
InteractableFocusMode
Options for the focus policy of an Interactable.
InteractableSelectMode
Options for the selection policy of an Interactable.
LocomotionPhase
Options for describing different phases of a locomotion.
MatchOrientation
The option of which object's orientation in the rig Unity matches with the destination after teleporting.
RequestResult
The result of a locomotion request.
ScaleMode
Enum representing the two modes of scaling: Input and Distance.
SocketScaleMode
Enum used to determine how the socket should scale the interactable.
TargetPriorityMode
Options for how many Targets (or Interactables with priority for selection) to monitor.
XRBaseController.UpdateType
The time within the frame that controller pose will be sampled.
XRBaseControllerInteractor.InputTriggerType
This defines the type of input that triggers an interaction.
XRBaseInteractable.DistanceCalculationMode
Options for how to calculate an Interactable distance to a location in world space.
XRBaseInteractable.MovementType
Options for how to process and perform movement of an Interactable.
XRGazeInteractor.GazeAssistanceCalculation
Defines the way the gaze assistance calculates and sizes the assistance area.
XRGrabInteractable.AttachPointCompatibilityMode
Controls the method used when calculating the target position of the object.
XRInteractionUpdateOrder.UpdatePhase
The phase in which updates happen.
XRRayInteractor.AnchorRotationMode
Sets how anchor rotation is controlled.
XRRayInteractor.HitDetectionType
Sets which shape of physics cast to use for the cast when detecting collisions.
XRRayInteractor.LineType
Sets which trajectory path Unity uses for the cast when detecting collisions.
XRRayInteractor.QuerySnapVolumeInteraction
Sets whether ray cast queries hit Trigger colliders and include or ignore snap volume trigger colliders.