docs.unity3d.com
    Show / Hide Table of Contents

    Class 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.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRBaseInteractor
    ARGestureInteractor
    XRBaseControllerInteractor
    XRSocketInteractor
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(String, Single)
    MonoBehaviour.InvokeRepeating(String, Single, Single)
    MonoBehaviour.CancelInvoke(String)
    MonoBehaviour.IsInvoking(String)
    MonoBehaviour.StartCoroutine(String)
    MonoBehaviour.StartCoroutine(String, Object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(String)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(Object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, Component)
    Component.TryGetComponent<T>(T)
    Component.GetComponent(String)
    Component.GetComponentInChildren(Type, Boolean)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(Boolean)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, Boolean)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(Boolean)
    Component.GetComponentsInChildren<T>(Boolean, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, Boolean)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(Boolean)
    Component.GetComponentsInParent<T>(Boolean, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(String)
    Component.SendMessageUpwards(String, Object, SendMessageOptions)
    Component.SendMessageUpwards(String, Object)
    Component.SendMessageUpwards(String)
    Component.SendMessageUpwards(String, SendMessageOptions)
    Component.SendMessage(String, Object)
    Component.SendMessage(String)
    Component.SendMessage(String, Object, SendMessageOptions)
    Component.SendMessage(String, SendMessageOptions)
    Component.BroadcastMessage(String, Object, SendMessageOptions)
    Component.BroadcastMessage(String, Object)
    Component.BroadcastMessage(String)
    Component.BroadcastMessage(String, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Component.rigidbody
    Component.rigidbody2D
    Component.camera
    Component.light
    Component.animation
    Component.constantForce
    Component.renderer
    Component.audio
    Component.networkView
    Component.collider
    Component.collider2D
    Component.hingeJoint
    Component.particleSystem
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(Object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, Boolean)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, Boolean)
    Object.Destroy(Object, Single)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, Boolean)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, Single)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectOfType<T>()
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.ToString()
    Object.name
    Object.hideFlags
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.XR.Interaction.Toolkit
    Syntax
    [SelectionBase]
    [DisallowMultipleComponent]
    [DefaultExecutionOrder(-99)]
    public abstract class XRBaseInteractor : MonoBehaviour, IXRHoverInteractor, IXRSelectInteractor, IXRInteractor

    Properties

    allowHover

    Defines whether this interactor allows hover events.

    Declaration
    public bool allowHover { get; set; }
    Property Value
    Type Description
    Boolean
    Remarks

    A hover exit event will still occur if this value is disabled while hovering.

    allowSelect

    Defines whether this interactor allows select events.

    Declaration
    public bool allowSelect { get; set; }
    Property Value
    Type Description
    Boolean
    Remarks

    A select exit event will still occur if this value is disabled while selecting.

    attachTransform

    The Transform that is used as the attach point for Interactables.

    Declaration
    public Transform attachTransform { get; set; }
    Property Value
    Type Description
    Transform
    Remarks

    Automatically instantiated and set in Awake() if null. Setting this will not automatically destroy the previous object.

    enableInteractions

    (Deprecated) Defines whether interactions are enabled or not.

    Declaration
    [Obsolete("enableInteractions has been deprecated. Use allowHover and allowSelect instead.")]
    public bool enableInteractions { get; set; }
    Property Value
    Type Description
    Boolean
    Remarks

    enableInteractions = value; is a convenience property for:

    allowHover = value;
    allowSelect = value;

    enableInteractions has been deprecated. Use allowHover and allowSelect instead.

    firstInteractableSelected

    (Read Only) The first Interactable selected since not having any selection. This Interactor may not currently be selecting the Interactable, which would be the case when it was released while multiple Interactables were selected.

    Declaration
    public IXRSelectInteractable firstInteractableSelected { get; }
    Property Value
    Type Description
    IXRSelectInteractable
    Implements
    IXRSelectInteractor.firstInteractableSelected
    See Also
    firstInteractorSelecting

    hasHover

    (Read Only) Indicates whether this Interactor is currently hovering an Interactable.

    Declaration
    public bool hasHover { get; }
    Property Value
    Type Description
    Boolean
    Implements
    IXRHoverInteractor.hasHover
    Remarks

    In other words, returns whether interactablesHovered contains any Interactables.

    interactablesHovered.Count > 0

    See Also
    interactablesHovered
    isHovered

    hasSelection

    (Read Only) Indicates whether this Interactor is currently selecting an Interactable.

    Declaration
    public bool hasSelection { get; }
    Property Value
    Type Description
    Boolean
    Implements
    IXRSelectInteractor.hasSelection
    Remarks

    In other words, returns whether interactablesSelected contains any Interactables.

    interactablesSelected.Count > 0

    See Also
    interactablesSelected
    isSelected

    hoverEntered

    The event that is called when this Interactor begins hovering over an Interactable.

    Declaration
    public HoverEnterEvent hoverEntered { get; set; }
    Property Value
    Type Description
    HoverEnterEvent
    Implements
    IXRHoverInteractor.hoverEntered
    Remarks

    The HoverEnterEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    hoverExited

    hoverExited

    The event that is called when this Interactor ends hovering over an Interactable.

    Declaration
    public HoverExitEvent hoverExited { get; set; }
    Property Value
    Type Description
    HoverExitEvent
    Implements
    IXRHoverInteractor.hoverExited
    Remarks

    The HoverExitEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    hoverEntered

    hoverTargets

    Target Interactables that are currently being hovered over (may by empty).

    Declaration
    [Obsolete("hoverTargets has been deprecated. Use interactablesHovered instead.")]
    protected List<XRBaseInteractable> hoverTargets { get; }
    Property Value
    Type Description
    List<XRBaseInteractable>
    Remarks

    hoverTargets has been deprecated. Use interactablesHovered instead.

    See Also
    hoveringInteractors

    interactablesHovered

    (Read Only) The list of Interactables that are currently being hovered over (may by empty).

    Declaration
    public List<IXRHoverInteractable> interactablesHovered { get; }
    Property Value
    Type Description
    List<IXRHoverInteractable>
    Implements
    IXRHoverInteractor.interactablesHovered
    Remarks

    You should treat this as a read only view of the list and should not modify it. It is exposed as a List<T> rather than an IReadOnlyList<T> to avoid GC Allocations when enumerating the list.

    See Also
    hasHover
    interactorsHovering

    interactablesSelected

    (Read Only) The list of Interactables that are currently being selected (may by empty).

    Declaration
    public List<IXRSelectInteractable> interactablesSelected { get; }
    Property Value
    Type Description
    List<IXRSelectInteractable>
    Implements
    IXRSelectInteractor.interactablesSelected
    Remarks

    This should be treated as a read only view of the list and should not be modified by external callers. It is exposed as a List<T> rather than an IReadOnlyList<T> to avoid GC Allocations when enumerating the list.

    See Also
    hasSelection
    interactorsSelecting

    interactionLayerMask

    (Deprecated) Allows interaction with Interactables whose Interaction Layer Mask overlaps with any Layer in this Interaction Layer Mask.

    Declaration
    [Obsolete("interactionLayerMask has been deprecated. Use interactionLayers instead.")]
    public LayerMask interactionLayerMask { get; set; }
    Property Value
    Type Description
    LayerMask
    Remarks

    interactionLayerMask has been deprecated. Use interactionLayers instead.

    See Also
    interactionLayerMask

    interactionLayers

    Allows interaction with Interactables whose Interaction Layer Mask overlaps with any Layer in this Interaction Layer Mask.

    Declaration
    public InteractionLayerMask interactionLayers { get; set; }
    Property Value
    Type Description
    InteractionLayerMask
    Implements
    IXRInteractor.interactionLayers
    See Also
    interactionLayers
    CanHover(IXRHoverInteractable)
    CanSelect(IXRSelectInteractable)

    interactionManager

    The XRInteractionManager that this Interactor will communicate with (will find one if null).

    Declaration
    public XRInteractionManager interactionManager { get; set; }
    Property Value
    Type Description
    XRInteractionManager

    isHoverActive

    (Read Only) Indicates whether this Interactor is in a state where it could hover.

    Declaration
    public virtual bool isHoverActive { get; }
    Property Value
    Type Description
    Boolean
    Implements
    IXRHoverInteractor.isHoverActive

    isPerformingManualInteraction

    Defines whether this interactor is performing a manual interaction or not.

    Declaration
    public bool isPerformingManualInteraction { get; }
    Property Value
    Type Description
    Boolean
    See Also
    StartManualInteraction(IXRSelectInteractable)
    EndManualInteraction()

    isSelectActive

    (Read Only) Indicates whether this Interactor is in a state where it could select.

    Declaration
    public virtual bool isSelectActive { get; }
    Property Value
    Type Description
    Boolean
    Implements
    IXRSelectInteractor.isSelectActive

    keepSelectedTargetValid

    Whether to keep selecting an Interactable after initially selecting it even when it is no longer a valid target.

    Declaration
    public bool keepSelectedTargetValid { get; set; }
    Property Value
    Type Description
    Boolean
    Implements
    IXRSelectInteractor.keepSelectedTargetValid
    Remarks

    Return true to make the XRInteractionManager retain the selection even if the Interactable is not contained within the list of valid targets. Return false to make the Interaction Manager clear the selection if it isn't within the list of valid targets.
    A common use for disabling this is for Ray Interactors used for teleportation to make the teleportation Interactable no longer selected when not currently pointing at it.

    onHoverEnter

    (Deprecated) Gets or sets the event that Unity calls when this Interactor begins hovering over an Interactable.

    Declaration
    [Obsolete("onHoverEnter has been deprecated. Use onHoverEntered instead. (UnityUpgradable) -> onHoverEntered")]
    public XRInteractorEvent onHoverEnter { get; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onHoverEnter has been deprecated. Use onHoverEntered instead.

    onHoverEntered

    (Deprecated) Gets or sets the event that Unity calls when this Interactor begins hovering over an Interactable.

    Declaration
    [Obsolete("onHoverEntered has been deprecated. Use hoverEntered with updated signature instead.")]
    public XRInteractorEvent onHoverEntered { get; set; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onHoverEntered has been deprecated. Use hoverEntered with updated signature instead.

    onHoverExit

    (Deprecated) Gets or sets the event that Unity calls when this Interactor ends hovering over an Interactable.

    Declaration
    [Obsolete("onHoverExit has been deprecated. Use onHoverExited instead. (UnityUpgradable) -> onHoverExited")]
    public XRInteractorEvent onHoverExit { get; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onHoverExit has been deprecated. Use onHoverExited instead.

    onHoverExited

    (Deprecated) Gets or sets the event that Unity calls when this Interactor ends hovering over an Interactable.

    Declaration
    [Obsolete("onHoverExited has been deprecated. Use hoverExited with updated signature instead.")]
    public XRInteractorEvent onHoverExited { get; set; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onHoverExited has been deprecated. Use hoverExited with updated signature instead.

    onSelectEnter

    (Deprecated) Gets or sets the event that Unity calls when this Interactor begins selecting an Interactable.

    Declaration
    [Obsolete("onSelectEnter has been deprecated. Use onSelectEntered instead. (UnityUpgradable) -> onSelectEntered")]
    public XRInteractorEvent onSelectEnter { get; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onSelectEnter has been deprecated. Use onSelectEntered instead.

    onSelectEntered

    (Deprecated) Gets or sets the event that Unity calls when this Interactor begins selecting an Interactable.

    Declaration
    [Obsolete("onSelectEntered has been deprecated. Use selectEntered with updated signature instead.")]
    public XRInteractorEvent onSelectEntered { get; set; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onSelectEntered has been deprecated. Use selectEntered with updated signature instead.

    onSelectExit

    (Deprecated) Gets or sets the event that Unity calls when this Interactor ends selecting an Interactable.

    Declaration
    [Obsolete("onSelectExit has been deprecated. Use onSelectExited instead. (UnityUpgradable) -> onSelectExited")]
    public XRInteractorEvent onSelectExit { get; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onSelectExit> has been deprecated. Use onSelectExited instead.

    onSelectExited

    (Deprecated) Gets or sets the event that Unity calls when this Interactor ends selecting an Interactable.

    Declaration
    [Obsolete("onSelectExited has been deprecated. Use selectExited with updated signature instead.")]
    public XRInteractorEvent onSelectExited { get; set; }
    Property Value
    Type Description
    XRInteractorEvent
    Remarks

    onSelectExited has been deprecated. Use selectExited with updated signature instead.

    requireSelectExclusive

    (Deprecated) (Read Only) Indicates whether this Interactor requires that an Interactable is not currently selected to begin selecting it.

    Declaration
    [Obsolete("requireSelectExclusive has been deprecated. Put logic in CanSelect instead.")]
    public virtual bool requireSelectExclusive { get; }
    Property Value
    Type Description
    Boolean
    Remarks

    When true, the Interaction Manager will only begin a selection when the Interactable is not currently selected.

    selectedInteractableMovementTypeOverride

    (Read Only) Overriding movement type of the selected Interactable's movement. By default, this does not override the movement type.

    Declaration
    public virtual XRBaseInteractable.MovementType? selectedInteractableMovementTypeOverride { get; }
    Property Value
    Type Description
    Nullable<XRBaseInteractable.MovementType>
    Remarks

    You can use this to change the effective movement type of an Interactable for different Interactors. An example would be having an Interactable use VelocityTracking so it does not move through geometry with a Collider when interacting with it using a Ray or Direct Interactor, but have a Socket Interactor override the movement type to be Instantaneous for reduced movement latency.

    See Also
    movementType

    selectEntered

    The event that is called when this Interactor begins selecting an Interactable.

    Declaration
    public SelectEnterEvent selectEntered { get; set; }
    Property Value
    Type Description
    SelectEnterEvent
    Implements
    IXRSelectInteractor.selectEntered
    Remarks

    The SelectEnterEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    selectExited

    selectExited

    The event that is called when this Interactor ends selecting an Interactable.

    Declaration
    public SelectExitEvent selectExited { get; set; }
    Property Value
    Type Description
    SelectExitEvent
    Implements
    IXRSelectInteractor.selectExited
    Remarks

    The SelectEnterEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    selectEntered

    selectTarget

    Selected Interactable for this Interactor (may be null).

    Declaration
    [Obsolete("selectTarget has been deprecated. Use interactablesSelected, GetOldestInteractableSelected, hasSelection, or IsSelecting for similar functionality.")]
    public XRBaseInteractable selectTarget { get; protected set; }
    Property Value
    Type Description
    XRBaseInteractable
    Remarks

    selectTarget has been deprecated. Use interactablesSelected, GetOldestInteractableSelected(IXRSelectInteractor), hasSelection, or IsSelecting(IXRSelectInteractable) instead.

    See Also
    selectingInteractor

    startingSelectedInteractable

    The Interactable that this Interactor automatically selects at startup (optional, may be null).

    Declaration
    public XRBaseInteractable startingSelectedInteractable { get; set; }
    Property Value
    Type Description
    XRBaseInteractable

    startingTargetFilter

    The Target Filter that this Interactor automatically links at startup (optional, may be null).

    Declaration
    public XRBaseTargetFilter startingTargetFilter { get; set; }
    Property Value
    Type Description
    XRBaseTargetFilter
    Remarks

    To modify the Target Filter after startup, the targetFilter property should be used instead.

    See Also
    targetFilter

    targetFilter

    The Target Filter that this Interactor is linked to.

    Declaration
    public IXRTargetFilter targetFilter { get; set; }
    Property Value
    Type Description
    IXRTargetFilter
    See Also
    startingTargetFilter

    Methods

    Awake()

    See MonoBehaviour.

    Declaration
    protected virtual void Awake()

    CanHover(IXRHoverInteractable)

    Determines if the Interactable is valid for hover this frame.

    Declaration
    public virtual bool CanHover(IXRHoverInteractable interactable)
    Parameters
    Type Name Description
    IXRHoverInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if the Interactable can be hovered over this frame.

    See Also
    IsHoverableBy(IXRHoverInteractor)

    CanHover(XRBaseInteractable)

    Determines if the Interactable is valid for hover this frame.

    Declaration
    [Obsolete("CanHover(XRBaseInteractable) has been deprecated. Use CanHover(IXRHoverInteractable) instead.")]
    public virtual bool CanHover(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if the interactable can be hovered over this frame.

    Remarks

    CanHover(XRBaseInteractable) has been deprecated. Use CanHover(IXRHoverInteractable) instead.

    See Also
    IsHoverableBy(XRBaseInteractor)

    CanSelect(IXRSelectInteractable)

    Determines if the Interactable is valid for selection this frame.

    Declaration
    public virtual bool CanSelect(IXRSelectInteractable interactable)
    Parameters
    Type Name Description
    IXRSelectInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if the Interactable can be selected this frame.

    See Also
    IsSelectableBy(IXRSelectInteractor)

    CanSelect(XRBaseInteractable)

    Determines if the Interactable is valid for selection this frame.

    Declaration
    [Obsolete("CanSelect(XRBaseInteractable) has been deprecated. Use CanSelect(IXRSelectInteractable) instead.")]
    public virtual bool CanSelect(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if the Interactable can be selected this frame.

    Remarks

    CanSelect(XRBaseInteractable) has been deprecated. Use CanSelect(IXRSelectInteractable) instead.

    See Also
    IsSelectableBy(XRBaseInteractor)

    CaptureAttachPose(IXRSelectInteractable)

    Capture the current Attach Transform pose. This method is automatically called by Unity to capture the pose during the moment of selection.

    Declaration
    protected void CaptureAttachPose(IXRSelectInteractable interactable)
    Parameters
    Type Name Description
    IXRSelectInteractable interactable

    The specific Interactable as context to get the attachment point for.

    Remarks

    Unity automatically calls this method during OnSelectEntering(SelectEnterEventArgs) and should not typically need to be called by a user.

    See Also
    GetAttachPoseOnSelect(IXRSelectInteractable)
    GetLocalAttachPoseOnSelect(IXRSelectInteractable)
    CaptureAttachPose(IXRSelectInteractor)

    EndManualInteraction()

    Ends the manually initiated selection of an Interactable.

    Declaration
    public virtual void EndManualInteraction()
    See Also
    StartManualInteraction(IXRSelectInteractable)

    GetAttachPoseOnSelect(IXRSelectInteractable)

    Gets the world position and rotation of the Attach Transform captured during the moment of selection.

    Declaration
    public Pose GetAttachPoseOnSelect(IXRSelectInteractable interactable)
    Parameters
    Type Name Description
    IXRSelectInteractable interactable

    The specific Interactable as context to get the attachment point for.

    Returns
    Type Description
    Pose

    Returns the world pose of the attachment point during the moment of selection, and otherwise the identity Pose if it was not selected during the current selection stack.

    Implements
    IXRSelectInteractor.GetAttachPoseOnSelect(IXRSelectInteractable)
    See Also
    GetLocalAttachPoseOnSelect(IXRSelectInteractable)
    GetAttachTransform(IXRInteractable)
    GetAttachPoseOnSelect(IXRSelectInteractor)

    GetAttachTransform(IXRInteractable)

    Gets the Transform that is used as the attachment point for a given Interactable.

    Declaration
    public virtual Transform GetAttachTransform(IXRInteractable interactable)
    Parameters
    Type Name Description
    IXRInteractable interactable

    The specific Interactable as context to get the attachment point for.

    Returns
    Type Description
    Transform

    Returns the attachment point Transform.

    Implements
    IXRInteractor.GetAttachTransform(IXRInteractable)
    Remarks

    This should typically return the Transform of a child GameObject or the transform itself.

    See Also
    GetAttachTransform(IXRInteractor)

    GetHoverTargets(List<XRBaseInteractable>)

    Retrieves a copy of the list of target Interactables that are currently being hovered over.

    Declaration
    [Obsolete("GetHoverTargets has been deprecated. Use interactablesHovered instead.")]
    public void GetHoverTargets(List<XRBaseInteractable> targets)
    Parameters
    Type Name Description
    List<XRBaseInteractable> targets

    The results list to store hover targets into.

    Remarks

    Clears targets before adding to it.
    GetHoverTargets has been deprecated. Use interactablesHovered instead.

    GetLocalAttachPoseOnSelect(IXRSelectInteractable)

    Gets the local position and rotation of the Attach Transform captured during the moment of selection.

    Declaration
    public Pose GetLocalAttachPoseOnSelect(IXRSelectInteractable interactable)
    Parameters
    Type Name Description
    IXRSelectInteractable interactable

    The specific Interactable as context to get the attachment point for.

    Returns
    Type Description
    Pose

    Returns the local pose of the attachment point during the moment of selection, and otherwise the identity Pose if it was not selected during the current selection stack.

    Implements
    IXRSelectInteractor.GetLocalAttachPoseOnSelect(IXRSelectInteractable)
    See Also
    GetAttachPoseOnSelect(IXRSelectInteractable)
    GetAttachTransform(IXRInteractable)
    GetLocalAttachPoseOnSelect(IXRSelectInteractor)

    GetValidTargets(List<IXRInteractable>)

    Retrieve the list of Interactables that this Interactor could possibly interact with this frame. This list is sorted by priority (with highest priority first).

    Declaration
    public virtual void GetValidTargets(List<IXRInteractable> targets)
    Parameters
    Type Name Description
    List<IXRInteractable> targets

    The results list to populate with Interactables that are valid for selection or hover.

    Implements
    IXRInteractor.GetValidTargets(List<IXRInteractable>)
    Remarks

    When implementing this method, Unity expects you to clear targets before adding to it.

    GetValidTargets(List<XRBaseInteractable>)

    Retrieve the list of Interactables that this Interactor could possibly interact with this frame. This list is sorted by priority (with highest priority first).

    Declaration
    [Obsolete("GetValidTargets(List<XRBaseInteractable>) has been deprecated. Override GetValidTargets(List<IXRInteractable>) instead. XRInteractionManager.GetValidTargets will stitch the results together with GetValidTargets(List<IXRInteractable>), but by default this method now does nothing.")]
    public virtual void GetValidTargets(List<XRBaseInteractable> targets)
    Parameters
    Type Name Description
    List<XRBaseInteractable> targets

    The results list to populate with Interactables that are valid for selection or hover.

    Remarks

    GetValidTargets(List<XRBaseInteractable>) has been deprecated. Use GetValidTargets(List<IXRInteractable>) instead. GetValidTargets(IXRInteractor, List<IXRInteractable>) will stitch the results together with GetValidTargets(List<IXRInteractable>), but by default this method now does nothing.

    IsHovering(IXRHoverInteractable)

    Determines whether this Interactor is currently hovering the Interactable.

    Declaration
    public bool IsHovering(IXRHoverInteractable interactable)
    Parameters
    Type Name Description
    IXRHoverInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if this Interactor is currently hovering the Interactable. Otherwise, returns .

    Implements
    IXRHoverInteractor.IsHovering(IXRHoverInteractable)
    Remarks

    In other words, returns whether interactablesHovered contains interactable.

    See Also
    interactablesHovered

    IsHovering(IXRInteractable)

    Determines whether this Interactor is currently hovering the Interactable.

    Declaration
    protected bool IsHovering(IXRInteractable interactable)
    Parameters
    Type Name Description
    IXRInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if this Interactor is currently hovering the Interactable. Otherwise, returns .

    Remarks

    In other words, returns whether interactablesHovered contains interactable.

    See Also
    interactablesHovered
    IsHovering(IXRHoverInteractable)

    IsSelecting(IXRInteractable)

    Determines whether this Interactor is currently selecting the Interactable.

    Declaration
    protected bool IsSelecting(IXRInteractable interactable)
    Parameters
    Type Name Description
    IXRInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if this Interactor is currently selecting the Interactable. Otherwise, returns .

    Remarks

    In other words, returns whether interactablesSelected contains interactable.

    See Also
    interactablesSelected
    IsSelecting(IXRSelectInteractable)

    IsSelecting(IXRSelectInteractable)

    Determines whether this Interactor is currently selecting the Interactable.

    Declaration
    public bool IsSelecting(IXRSelectInteractable interactable)
    Parameters
    Type Name Description
    IXRSelectInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if this Interactor is currently selecting the Interactable. Otherwise, returns .

    Implements
    IXRSelectInteractor.IsSelecting(IXRSelectInteractable)
    Remarks

    In other words, returns whether interactablesSelected contains interactable.

    See Also
    interactablesSelected

    OnDestroy()

    See MonoBehaviour.

    Declaration
    protected virtual void OnDestroy()

    OnDisable()

    See MonoBehaviour.

    Declaration
    protected virtual void OnDisable()

    OnEnable()

    See MonoBehaviour.

    Declaration
    protected virtual void OnEnable()

    OnHoverEntered(HoverEnterEventArgs)

    The XRInteractionManager calls this method when the Interactor first initiates hovering over an Interactable in a second pass.

    Declaration
    protected virtual void OnHoverEntered(HoverEnterEventArgs args)
    Parameters
    Type Name Description
    HoverEnterEventArgs args

    Event data containing the Interactable that is being hovered over.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverExited(HoverExitEventArgs)

    OnHoverEntered(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method when the Interactor first initiates hovering over an Interactable in a second pass.

    Declaration
    [Obsolete("OnHoverEntered(XRBaseInteractable) has been deprecated. Use OnHoverEntered(HoverEnterEventArgs) instead.")]
    protected virtual void OnHoverEntered(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is being hovered over.

    Remarks

    OnHoverEntered(XRBaseInteractable) has been deprecated. Use OnHoverEntered(HoverEnterEventArgs) instead.

    See Also
    OnHoverExited(XRBaseInteractable)

    OnHoverEntering(HoverEnterEventArgs)

    The XRInteractionManager calls this method right before the Interactor first initiates hovering over an Interactable in a first pass.

    Declaration
    protected virtual void OnHoverEntering(HoverEnterEventArgs args)
    Parameters
    Type Name Description
    HoverEnterEventArgs args

    Event data containing the Interactable that is being hovered over.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverEntered(HoverEnterEventArgs)

    OnHoverEntering(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method right before the Interactor first initiates hovering over an Interactable in a first pass.

    Declaration
    [Obsolete("OnHoverEntering(XRBaseInteractable) has been deprecated. Use OnHoverEntering(HoverEnterEventArgs) instead.")]
    protected virtual void OnHoverEntering(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is being hovered over.

    Remarks

    OnHoverEntering(XRBaseInteractable) has been deprecated. Use OnHoverEntering(HoverEnterEventArgs) instead.

    See Also
    OnHoverEntered(XRBaseInteractable)

    OnHoverExited(HoverExitEventArgs)

    The XRInteractionManager calls this method when the Interactor ends hovering over an Interactable in a second pass.

    Declaration
    protected virtual void OnHoverExited(HoverExitEventArgs args)
    Parameters
    Type Name Description
    HoverExitEventArgs args

    Event data containing the Interactable that is no longer hovered over.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverEntered(HoverEnterEventArgs)

    OnHoverExited(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method when the Interactor ends hovering over an Interactable in a second pass.

    Declaration
    [Obsolete("OnHoverExited(XRBaseInteractable) has been deprecated. Use OnHoverExited(HoverExitEventArgs) instead.")]
    protected virtual void OnHoverExited(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is no longer hovered over.

    Remarks

    OnHoverExited(XRBaseInteractable) has been deprecated. Use OnHoverExited(HoverExitEventArgs) instead.

    See Also
    OnHoverEntered(XRBaseInteractable)

    OnHoverExiting(HoverExitEventArgs)

    The XRInteractionManager calls this method right before the Interactor ends hovering over an Interactable in a first pass.

    Declaration
    protected virtual void OnHoverExiting(HoverExitEventArgs args)
    Parameters
    Type Name Description
    HoverExitEventArgs args

    Event data containing the Interactable that is no longer hovered over.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverExited(HoverExitEventArgs)

    OnHoverExiting(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method right before the Interactor ends hovering over an Interactable in a first pass.

    Declaration
    [Obsolete("OnHoverExiting(XRBaseInteractable) has been deprecated. Use OnHoverExiting(HoverExitEventArgs) instead.")]
    protected virtual void OnHoverExiting(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is no longer hovered over.

    Remarks

    OnHoverExiting(XRBaseInteractable) has been deprecated. Use OnHoverExiting(HoverExitEventArgs) instead.

    See Also
    OnHoverExited(XRBaseInteractable)

    OnRegistered(InteractorRegisteredEventArgs)

    The XRInteractionManager calls this method when this Interactor is registered with it.

    Declaration
    protected virtual void OnRegistered(InteractorRegisteredEventArgs args)
    Parameters
    Type Name Description
    InteractorRegisteredEventArgs args

    Event data containing the Interaction Manager that registered this Interactor.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    RegisterInteractor(IXRInteractor)

    OnSelectEntered(SelectEnterEventArgs)

    The XRInteractionManager calls this method when the Interactor first initiates selection of an Interactable in a second pass.

    Declaration
    protected virtual void OnSelectEntered(SelectEnterEventArgs args)
    Parameters
    Type Name Description
    SelectEnterEventArgs args

    Event data containing the Interactable that is being selected.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectExited(SelectExitEventArgs)

    OnSelectEntered(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method when the Interactor first initiates selection of an Interactable in a second pass.

    Declaration
    [Obsolete("OnSelectEntered(XRBaseInteractable) has been deprecated. Use OnSelectEntered(SelectEnterEventArgs) instead.")]
    protected virtual void OnSelectEntered(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is being selected.

    Remarks

    OnSelectEntered(XRBaseInteractable) has been deprecated. Use OnSelectEntered(SelectEnterEventArgs) instead.

    See Also
    OnSelectExited(XRBaseInteractable)

    OnSelectEntering(SelectEnterEventArgs)

    The XRInteractionManager calls this method right before the Interactor first initiates selection of an Interactable in a first pass.

    Declaration
    protected virtual void OnSelectEntering(SelectEnterEventArgs args)
    Parameters
    Type Name Description
    SelectEnterEventArgs args

    Event data containing the Interactable that is being selected.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectEntered(SelectEnterEventArgs)

    OnSelectEntering(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method right before the Interactor first initiates selection of an Interactable in a first pass.

    Declaration
    [Obsolete("OnSelectEntering(XRBaseInteractable) has been deprecated. Use OnSelectEntering(SelectEnterEventArgs) instead.")]
    protected virtual void OnSelectEntering(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is being selected.

    Remarks

    OnSelectEntering(XRBaseInteractable) has been deprecated. Use OnSelectEntering(SelectEnterEventArgs) instead.

    See Also
    OnSelectEntered(XRBaseInteractable)

    OnSelectExited(SelectExitEventArgs)

    The XRInteractionManager calls this method when the Interactor ends selection of an Interactable in a second pass.

    Declaration
    protected virtual void OnSelectExited(SelectExitEventArgs args)
    Parameters
    Type Name Description
    SelectExitEventArgs args

    Event data containing the Interactable that is no longer selected.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectEntered(SelectEnterEventArgs)

    OnSelectExited(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method when the Interactor ends selection of an Interactable in a second pass.

    Declaration
    [Obsolete("OnSelectExited(XRBaseInteractable) has been deprecated. Use OnSelectExited(SelectExitEventArgs) instead.")]
    protected virtual void OnSelectExited(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is no longer selected.

    Remarks

    OnSelectExited(XRBaseInteractable) has been deprecated. Use OnSelectExited(SelectExitEventArgs) instead.

    See Also
    OnSelectEntered(XRBaseInteractable)

    OnSelectExiting(SelectExitEventArgs)

    The XRInteractionManager calls this method right before the Interactor ends selection of an Interactable in a first pass.

    Declaration
    protected virtual void OnSelectExiting(SelectExitEventArgs args)
    Parameters
    Type Name Description
    SelectExitEventArgs args

    Event data containing the Interactable that is no longer selected.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectExited(SelectExitEventArgs)

    OnSelectExiting(XRBaseInteractable)

    (Deprecated) The XRInteractionManager calls this method right before the Interactor ends selection of an Interactable in a first pass.

    Declaration
    [Obsolete("OnSelectExiting(XRBaseInteractable) has been deprecated. Use OnSelectExiting(SelectExitEventArgs) instead.")]
    protected virtual void OnSelectExiting(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is no longer selected.

    Remarks

    OnSelectExiting(XRBaseInteractable) has been deprecated. Use OnSelectExiting(SelectExitEventArgs) instead.

    See Also
    OnSelectExited(XRBaseInteractable)

    OnUnregistered(InteractorUnregisteredEventArgs)

    The XRInteractionManager calls this method when this Interactor is unregistered from it.

    Declaration
    protected virtual void OnUnregistered(InteractorUnregisteredEventArgs args)
    Parameters
    Type Name Description
    InteractorUnregisteredEventArgs args

    Event data containing the Interaction Manager that unregistered this Interactor.

    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    UnregisterInteractor(IXRInteractor)

    PreprocessInteractor(XRInteractionUpdateOrder.UpdatePhase)

    The XRInteractionManager calls this method to update the Interactor before interaction events occur. Interactors should use this method to do tasks like determine their valid targets.

    Declaration
    public virtual void PreprocessInteractor(XRInteractionUpdateOrder.UpdatePhase updatePhase)
    Parameters
    Type Name Description
    XRInteractionUpdateOrder.UpdatePhase updatePhase

    The update phase this is called during.

    Implements
    IXRInteractor.PreprocessInteractor(XRInteractionUpdateOrder.UpdatePhase)
    Remarks

    Please see the XRInteractionManager and XRInteractionUpdateOrder.UpdatePhase documentation for more details on update order.

    See Also
    XRInteractionUpdateOrder.UpdatePhase

    ProcessInteractor(XRInteractionUpdateOrder.UpdatePhase)

    The XRInteractionManager calls this method to update the Interactor after interaction events occur.

    Declaration
    public virtual void ProcessInteractor(XRInteractionUpdateOrder.UpdatePhase updatePhase)
    Parameters
    Type Name Description
    XRInteractionUpdateOrder.UpdatePhase updatePhase

    The update phase this is called during.

    Implements
    IXRInteractor.ProcessInteractor(XRInteractionUpdateOrder.UpdatePhase)
    Remarks

    Please see the XRInteractionManager and XRInteractionUpdateOrder.UpdatePhase documentation for more details on update order.

    See Also
    XRInteractionUpdateOrder.UpdatePhase
    ProcessInteractable(XRInteractionUpdateOrder.UpdatePhase)

    Reset()

    See MonoBehaviour.

    Declaration
    [Conditional("UNITY_EDITOR")]
    protected virtual void Reset()

    Start()

    See MonoBehaviour.

    Declaration
    protected virtual void Start()

    StartManualInteraction(IXRSelectInteractable)

    Manually initiate selection of an Interactable.

    Declaration
    public virtual void StartManualInteraction(IXRSelectInteractable interactable)
    Parameters
    Type Name Description
    IXRSelectInteractable interactable

    Interactable that is being selected.

    See Also
    EndManualInteraction()

    StartManualInteraction(XRBaseInteractable)

    Manually initiate selection of an Interactable.

    Declaration
    [Obsolete("StartManualInteraction(XRBaseInteractable) has been deprecated. Use StartManualInteraction(IXRSelectInteractable) instead.")]
    public virtual void StartManualInteraction(XRBaseInteractable interactable)
    Parameters
    Type Name Description
    XRBaseInteractable interactable

    Interactable that is being selected.

    Remarks

    StartManualInteraction(XRBaseInteractable) has been deprecated. Use StartManualInteraction(IXRSelectInteractable) instead.

    See Also
    EndManualInteraction()

    Events

    registered

    Calls the methods in its invocation list when this Interactor is registered with an Interaction Manager.

    Declaration
    public event Action<InteractorRegisteredEventArgs> registered
    Event Type
    Type Description
    Action<InteractorRegisteredEventArgs>
    Implements
    IXRInteractor.registered
    Remarks

    The InteractorRegisteredEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    interactorRegistered

    unregistered

    Calls the methods in its invocation list when this Interactor is unregistered from an Interaction Manager.

    Declaration
    public event Action<InteractorUnregisteredEventArgs> unregistered
    Event Type
    Type Description
    Action<InteractorUnregisteredEventArgs>
    Implements
    IXRInteractor.unregistered
    Remarks

    The InteractorUnregisteredEventArgs passed to each listener is only valid while the event is invoked, do not hold a reference to it.

    See Also
    interactorUnregistered

    Explicit Interface Implementations

    IXRHoverInteractor.CanHover(IXRHoverInteractable)

    Determines if the Interactable is valid for hover this frame.

    Declaration
    bool IXRHoverInteractor.CanHover(IXRHoverInteractable interactable)
    Parameters
    Type Name Description
    IXRHoverInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if the interactable can be hovered over this frame.

    Implements
    IXRHoverInteractor.CanHover(IXRHoverInteractable)
    See Also
    IsHoverableBy(IXRHoverInteractor)

    IXRHoverInteractor.OnHoverEntered(HoverEnterEventArgs)

    The XRInteractionManager calls this method when the Interactor first initiates hovering over an Interactable in a second pass.

    Declaration
    void IXRHoverInteractor.OnHoverEntered(HoverEnterEventArgs args)
    Parameters
    Type Name Description
    HoverEnterEventArgs args

    Event data containing the Interactable that is being hovered over.

    Implements
    IXRHoverInteractor.OnHoverEntered(HoverEnterEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverExited(HoverExitEventArgs)

    IXRHoverInteractor.OnHoverEntering(HoverEnterEventArgs)

    The XRInteractionManager calls this method right before the Interactor first initiates hovering over an Interactable in a first pass.

    Declaration
    void IXRHoverInteractor.OnHoverEntering(HoverEnterEventArgs args)
    Parameters
    Type Name Description
    HoverEnterEventArgs args

    Event data containing the Interactable that is being hovered over.

    Implements
    IXRHoverInteractor.OnHoverEntering(HoverEnterEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverEntered(HoverEnterEventArgs)

    IXRHoverInteractor.OnHoverExited(HoverExitEventArgs)

    The XRInteractionManager calls this method when the Interactor ends hovering over an Interactable in a second pass.

    Declaration
    void IXRHoverInteractor.OnHoverExited(HoverExitEventArgs args)
    Parameters
    Type Name Description
    HoverExitEventArgs args

    Event data containing the Interactable that is no longer hovered over.

    Implements
    IXRHoverInteractor.OnHoverExited(HoverExitEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverEntered(HoverEnterEventArgs)

    IXRHoverInteractor.OnHoverExiting(HoverExitEventArgs)

    The XRInteractionManager calls this method right before the Interactor ends hovering over an Interactable in a first pass.

    Declaration
    void IXRHoverInteractor.OnHoverExiting(HoverExitEventArgs args)
    Parameters
    Type Name Description
    HoverExitEventArgs args

    Event data containing the Interactable that is no longer hovered over.

    Implements
    IXRHoverInteractor.OnHoverExiting(HoverExitEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnHoverExited(HoverExitEventArgs)

    IXRInteractor.OnRegistered(InteractorRegisteredEventArgs)

    The XRInteractionManager calls this method when this Interactor is registered with it.

    Declaration
    void IXRInteractor.OnRegistered(InteractorRegisteredEventArgs args)
    Parameters
    Type Name Description
    InteractorRegisteredEventArgs args

    Event data containing the Interaction Manager that registered this Interactor.

    Implements
    IXRInteractor.OnRegistered(InteractorRegisteredEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    RegisterInteractor(IXRInteractor)

    IXRInteractor.OnUnregistered(InteractorUnregisteredEventArgs)

    The XRInteractionManager calls this method when this Interactor is unregistered from it.

    Declaration
    void IXRInteractor.OnUnregistered(InteractorUnregisteredEventArgs args)
    Parameters
    Type Name Description
    InteractorUnregisteredEventArgs args

    Event data containing the Interaction Manager that unregistered this Interactor.

    Implements
    IXRInteractor.OnUnregistered(InteractorUnregisteredEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    UnregisterInteractor(IXRInteractor)

    IXRSelectInteractor.CanSelect(IXRSelectInteractable)

    Determines if the Interactable is valid for selection this frame.

    Declaration
    bool IXRSelectInteractor.CanSelect(IXRSelectInteractable interactable)
    Parameters
    Type Name Description
    IXRSelectInteractable interactable

    Interactable to check.

    Returns
    Type Description
    Boolean

    Returns true if the interactable can be selected this frame.

    Implements
    IXRSelectInteractor.CanSelect(IXRSelectInteractable)
    See Also
    IsSelectableBy(IXRSelectInteractor)

    IXRSelectInteractor.OnSelectEntered(SelectEnterEventArgs)

    The XRInteractionManager calls this method when the Interactor first initiates selection of an Interactable in a second pass.

    Declaration
    void IXRSelectInteractor.OnSelectEntered(SelectEnterEventArgs args)
    Parameters
    Type Name Description
    SelectEnterEventArgs args

    Event data containing the Interactable that is being selected.

    Implements
    IXRSelectInteractor.OnSelectEntered(SelectEnterEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectExited(SelectExitEventArgs)

    IXRSelectInteractor.OnSelectEntering(SelectEnterEventArgs)

    The XRInteractionManager calls this method right before the Interactor first initiates selection of an Interactable in a first pass.

    Declaration
    void IXRSelectInteractor.OnSelectEntering(SelectEnterEventArgs args)
    Parameters
    Type Name Description
    SelectEnterEventArgs args

    Event data containing the Interactable that is being selected.

    Implements
    IXRSelectInteractor.OnSelectEntering(SelectEnterEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectEntered(SelectEnterEventArgs)

    IXRSelectInteractor.OnSelectExited(SelectExitEventArgs)

    The XRInteractionManager calls this method when the Interactor ends selection of an Interactable in a second pass.

    Declaration
    void IXRSelectInteractor.OnSelectExited(SelectExitEventArgs args)
    Parameters
    Type Name Description
    SelectExitEventArgs args

    Event data containing the Interactable that is no longer selected.

    Implements
    IXRSelectInteractor.OnSelectExited(SelectExitEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectEntered(SelectEnterEventArgs)

    IXRSelectInteractor.OnSelectExiting(SelectExitEventArgs)

    The XRInteractionManager calls this method right before the Interactor ends selection of an Interactable in a first pass.

    Declaration
    void IXRSelectInteractor.OnSelectExiting(SelectExitEventArgs args)
    Parameters
    Type Name Description
    SelectExitEventArgs args

    Event data containing the Interactable that is no longer selected.

    Implements
    IXRSelectInteractor.OnSelectExiting(SelectExitEventArgs)
    Remarks

    args is only valid during this method call, do not hold a reference to it.

    See Also
    OnSelectExited(SelectExitEventArgs)

    Extension Methods

    XRHoverInteractorExtensions.GetOldestInteractableHovered(IXRHoverInteractor)
    XRSelectInteractorExtensions.GetOldestInteractableSelected(IXRSelectInteractor)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023