Namespace UnityEngine.XR.Interaction.Toolkit
Classes
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.
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.
ClimbTeleportInteractor
Interactor that drives climb locomotion assistance via teleportation. This interactor responds to the user grabbing a ClimbInteractable that references the same ClimbProvider as this interactor.
ConstrainedMoveProvider
Base class for a locomotion provider that allows for constrained movement with a CharacterController.
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.
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.
FurthestTeleportationAnchorFilter
Filter for a TeleportationMultiAnchorVolume that designates the anchor furthest from the user as the teleportation destination. Distance calculation uses the camera position projected onto the XZ plane of the XR Origin.
GazeTeleportationAnchorFilter
Filter for a TeleportationMultiAnchorVolume that designates the anchor most aligned with the camera forward direction, optionally weighted by distance from the user, as the teleportation destination. Distance calculation uses the camera position projected onto the XZ plane of the XR Origin.
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.
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
Base for a behavior that implements a specific type of user locomotion. This behavior communicates with a LocomotionMediator to gain access to the mediator's XRBodyTransformer, which the provider can use to queue IXRBodyTransformations that move the user.
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.
TeleportVolumeDestinationSettings
Settings for evaluating the destination anchor for a TeleportationMultiAnchorVolume.
TeleportVolumeDestinationSettingsDatum
ScriptableObject container class that holds a TeleportVolumeDestinationSettings value.
TeleportVolumeDestinationSettingsDatumProperty
Serializable container class that holds a TeleportVolumeDestinationSettings value or a container asset reference.
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.
TeleportationMultiAnchorVolume
An interactable that teleports the user to a specific position and/or rotation defined by one of several anchors. The volume designates a destination anchor upon first hover based on a ITeleportationVolumeAnchorFilter.
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.
XRBaseInputInteractor
Abstract base class from which all interactors that use inputs to drive interaction state derive from.
XRBaseInputInteractor.LogicalInputState
Interpreted input from an input reader. Represents the logical state of an interaction input, such as the select input, which may not be the same as the physical state of the input.
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 behaviors derive. This class hooks into the interaction system (via XRInteractionManager) and provides base virtual methods for handling hover and selection.
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 Interactor for playback.
XRControllerState
Represents a serializable state of the XR Interactor for use with recording and playback.
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.
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.
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
Serializable struct to hold logical input state for a given interaction, such as for select.
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.
IInteractorDistanceEvaluator
Defines a method for calculating the distance between an IXRInteractor and an IXRInteractable.
ILineRenderable
Get line points and hit point info for rendering.
ITeleportationVolumeAnchorFilter
Interface for filtering a list of anchors for a TeleportationMultiAnchorVolume to designate one as the destination anchor.
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.
IXRInteractableCustomReticle
Interface for a component on a customReticle for an interactable.
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.
EaseState
Options for displaying easing transitions of the tunneling vignette effect to reduce potential distractions from instantaneously changing the user's field of view.
InteractableFocusMode
Options for the focus policy of an Interactable.
InteractableSelectMode
Options for the selection policy of an Interactable.
InteractorHandedness
Represents which hand or controller the interactor is associated with.
MatchOrientation
The option of which object's orientation in the rig Unity matches with the destination after teleporting.
ScaleMode
Enum representing the two modes of scaling: ScaleOverTime and DistanceDelta.
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.
XRBaseInputInteractor.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.
XRInteractionUpdateOrder.UpdatePhase
The phase in which updates happen.
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.
XRRayInteractor.RotateMode
Sets how Attach Transform rotation is controlled.