docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class NearFarInteractor

    Interactor that uses two IInteractionCaster references to find valid targets. The near caster is simpler and not assumed to have any line based casting, while the far caster implements ICurveInteractionCaster to find valid targets, and optionally IUIModelUpdater which is used to support UI interaction and sort interaction points.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRBaseInteractor
    XRBaseInputInteractor
    NearFarInteractor
    Implements
    IXRHoverInteractor
    IXRSelectInteractor
    IXRTargetPriorityInteractor
    IXRGroupMember
    IXRInteractionStrengthInteractor
    IXRActivateInteractor
    IXRInteractor
    IXRRayProvider
    IUIHoverInteractor
    IUIInteractor
    ICurveInteractionDataProvider
    Inherited Members
    XRBaseInputInteractor.selectInput
    XRBaseInputInteractor.activateInput
    XRBaseInputInteractor.selectActionTrigger
    XRBaseInputInteractor.allowHoveredActivate
    XRBaseInputInteractor.targetPriorityMode
    XRBaseInputInteractor.allowActivate
    XRBaseInputInteractor.isSelectActive
    XRBaseInputInteractor.shouldActivate
    XRBaseInputInteractor.shouldDeactivate
    XRBaseInputInteractor.logicalSelectState
    XRBaseInputInteractor.logicalActivateState
    XRBaseInputInteractor.buttonReaders
    XRBaseInputInteractor.valueReaders
    XRBaseInputInteractor.ProcessInteractor(XRInteractionUpdateOrder.UpdatePhase)
    XRBaseInputInteractor.SetInputProperty(ref XRInputButtonReader, XRInputButtonReader)
    XRBaseInputInteractor.SetInputProperty<TValue>(ref XRInputValueReader<TValue>, XRInputValueReader<TValue>)
    XRBaseInputInteractor.GetActivateTargets(List<IXRActivateInteractable>)
    XRBaseInputInteractor.SendHapticImpulse(float, float)
    XRBaseInputInteractor.PlayAudio(AudioClip)
    XRBaseInputInteractor.OnHoverEntering(HoverEnterEventArgs)
    XRBaseInputInteractor.OnHoverExiting(HoverExitEventArgs)
    XRBaseInteractor.registered
    XRBaseInteractor.unregistered
    XRBaseInteractor.interactionManager
    XRBaseInteractor.containingGroup
    XRBaseInteractor.interactionLayers
    XRBaseInteractor.handedness
    XRBaseInteractor.attachTransform
    XRBaseInteractor.keepSelectedTargetValid
    XRBaseInteractor.disableVisualsWhenBlockedInGroup
    XRBaseInteractor.startingSelectedInteractable
    XRBaseInteractor.startingTargetFilter
    XRBaseInteractor.hoverEntered
    XRBaseInteractor.hoverExited
    XRBaseInteractor.selectEntered
    XRBaseInteractor.selectExited
    XRBaseInteractor.targetFilter
    XRBaseInteractor.allowHover
    XRBaseInteractor.allowSelect
    XRBaseInteractor.isPerformingManualInteraction
    XRBaseInteractor.interactablesHovered
    XRBaseInteractor.hasHover
    XRBaseInteractor.interactablesSelected
    XRBaseInteractor.firstInteractableSelected
    XRBaseInteractor.hasSelection
    XRBaseInteractor.startingHoverFilters
    XRBaseInteractor.hoverFilters
    XRBaseInteractor.startingSelectFilters
    XRBaseInteractor.selectFilters
    XRBaseInteractor.largestInteractionStrength
    XRBaseInteractor.Reset()
    XRBaseInteractor.Start()
    XRBaseInteractor.OnDestroy()
    XRBaseInteractor.GetAttachTransform(IXRInteractable)
    XRBaseInteractor.GetAttachPoseOnSelect(IXRSelectInteractable)
    XRBaseInteractor.GetLocalAttachPoseOnSelect(IXRSelectInteractable)
    XRBaseInteractor.isHoverActive
    XRBaseInteractor.targetsForSelection
    XRBaseInteractor.CanHover(IXRHoverInteractable)
    XRBaseInteractor.CanSelect(IXRSelectInteractable)
    XRBaseInteractor.IsHovering(IXRHoverInteractable)
    XRBaseInteractor.IsSelecting(IXRSelectInteractable)
    XRBaseInteractor.IsHovering(IXRInteractable)
    XRBaseInteractor.IsSelecting(IXRInteractable)
    XRBaseInteractor.selectedInteractableMovementTypeOverride
    XRBaseInteractor.CaptureAttachPose(IXRSelectInteractable)
    XRBaseInteractor.CreateAttachTransform()
    XRBaseInteractor.GetInteractionStrength(IXRInteractable)
    XRBaseInteractor.OnRegistered(InteractorRegisteredEventArgs)
    XRBaseInteractor.OnUnregistered(InteractorUnregisteredEventArgs)
    XRBaseInteractor.OnHoverEntered(HoverEnterEventArgs)
    XRBaseInteractor.OnHoverExited(HoverExitEventArgs)
    XRBaseInteractor.ProcessInteractionStrength(XRInteractionUpdateOrder.UpdatePhase)
    XRBaseInteractor.StartManualInteraction(IXRSelectInteractable)
    XRBaseInteractor.EndManualInteraction()
    XRBaseInteractor.ProcessHoverFilters(IXRHoverInteractable)
    XRBaseInteractor.ProcessSelectFilters(IXRSelectInteractable)
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(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, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, 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
    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, bool)
    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, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.XR.Interaction.Toolkit.Interactors
    Assembly: Unity.XR.Interaction.Toolkit.dll
    Syntax
    [DisallowMultipleComponent]
    [AddComponentMenu("XR/Interactors/Near-Far Interactor", 11)]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.2/api/UnityEngine.XR.Interaction.Toolkit.Interactors.NearFarInteractor.html")]
    public class NearFarInteractor : XRBaseInputInteractor, IXRHoverInteractor, IXRSelectInteractor, IXRTargetPriorityInteractor, IXRGroupMember, IXRInteractionStrengthInteractor, IXRActivateInteractor, IXRInteractor, IXRRayProvider, IUIHoverInteractor, IUIInteractor, ICurveInteractionDataProvider

    Properties

    blockUIOnInteractableSelection

    Enabling this option will block UI interaction when selecting interactables.

    Declaration
    public bool blockUIOnInteractableSelection { get; set; }
    Property Value
    Type Description
    bool

    curveOrigin

    The transform used to determine the origin of the curve.

    Declaration
    public Transform curveOrigin { get; }
    Property Value
    Type Description
    Transform

    enableFarCasting

    Determines if the far caster will be used to find valid targets for this interactor.

    Declaration
    public bool enableFarCasting { get; set; }
    Property Value
    Type Description
    bool

    enableNearCasting

    Determines if the near caster will be used to find valid targets for this interactor.

    Declaration
    public bool enableNearCasting { get; set; }
    Property Value
    Type Description
    bool

    enableUIInteraction

    Enable to affect Unity UI GameObjects in a way that is similar to a mouse pointer. Requires the XR UI Input Module on the Event System.

    Declaration
    public bool enableUIInteraction { get; set; }
    Property Value
    Type Description
    bool

    farAttachMode

    Determines how the attach transform is adjusted on far select. This typically results in whether the interactable stays distant at the far hit point or moves to the near hand.

    Declaration
    public InteractorFarAttachMode farAttachMode { get; set; }
    Property Value
    Type Description
    InteractorFarAttachMode

    farInteractionCaster

    Reference to the far interaction caster used to find valid targets for this interactor.

    Declaration
    public ICurveInteractionCaster farInteractionCaster { get; set; }
    Property Value
    Type Description
    ICurveInteractionCaster

    interactionAttachController

    Reference to the attach controller used to control the attach transform.

    Declaration
    public IInteractionAttachController interactionAttachController { get; set; }
    Property Value
    Type Description
    IInteractionAttachController

    nearCasterSortingStrategy

    Strategy used to compute the the distance used to sort valid targets discovered by the near interaction caster.

    Declaration
    public NearFarInteractor.NearCasterSortingStrategy nearCasterSortingStrategy { get; set; }
    Property Value
    Type Description
    NearFarInteractor.NearCasterSortingStrategy

    nearInteractionCaster

    Reference to the near interaction caster used to find valid targets for this interactor.

    Declaration
    public IInteractionCaster nearInteractionCaster { get; set; }
    Property Value
    Type Description
    IInteractionCaster

    selectionRegion

    The current region, Near or Far, of the interactable when this interactor has a selection. When not selecting, the value is None. Exposed as a bindable variable to allow users to subscribe to changes.

    Declaration
    public IReadOnlyBindableVariable<NearFarInteractor.Region> selectionRegion { get; }
    Property Value
    Type Description
    IReadOnlyBindableVariable<NearFarInteractor.Region>
    Remarks

    More technically, this is based on whether the attach transform has an offset or not. This value can start at Far when an interactable hit by the far interaction caster is selected but change to Near as the object is pulled all the way closer.

    See Also
    NearFarInteractor.Region
    hasOffset

    sortNearTargetsAfterTargetFilter

    If true, the interactor will sort the near caster's valid targets after the targetFilter has been applied. Generally, the target filter also takes care of sorting, so this option should only be used if the target filter does not sort. Not used if no target filter is present.

    Declaration
    public bool sortNearTargetsAfterTargetFilter { get; set; }
    Property Value
    Type Description
    bool

    uiHoverEntered

    The event that is called when the Interactor begins hovering over a UI element.

    Declaration
    public UIHoverEnterEvent uiHoverEntered { get; set; }
    Property Value
    Type Description
    UIHoverEnterEvent
    Remarks

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

    uiHoverExited

    The event that is called when this Interactor ends hovering over a UI element.

    Declaration
    public UIHoverExitEvent uiHoverExited { get; set; }
    Property Value
    Type Description
    UIHoverExitEvent
    Remarks

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

    uiPressInput

    Input to use for pressing UI elements. Functions like a mouse button when pointing over UI.

    Declaration
    public XRInputButtonReader uiPressInput { get; set; }
    Property Value
    Type Description
    XRInputButtonReader

    uiScrollInput

    Input to use for scrolling UI elements. Functions like a mouse scroll wheel when pointing over UI.

    Declaration
    public XRInputValueReader<Vector2> uiScrollInput { get; set; }
    Property Value
    Type Description
    XRInputValueReader<Vector2>

    Methods

    Awake()

    See MonoBehaviour.

    Declaration
    protected override void Awake()
    Overrides
    XRBaseInputInteractor.Awake()

    GetEvaluatorForSortingStrategy(NearCasterSortingStrategy)

    Gets the selected interactor distance evaluator strategy used to sort valid interactable targets discovered by the near interaction caster. The selected sorting strategy can have non-trivial performance implications as the computation will scale according to the quantity of valid targets and the strategy used.

    Declaration
    protected virtual IInteractorDistanceEvaluator GetEvaluatorForSortingStrategy(NearFarInteractor.NearCasterSortingStrategy strategy)
    Parameters
    Type Name Description
    NearFarInteractor.NearCasterSortingStrategy strategy

    Strategy to apply.

    Returns
    Type Description
    IInteractorDistanceEvaluator

    IInteractorDistanceEvaluator instance associated with NearFarInteractor.NearCasterSortingStrategy parameter.

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

    Overrides
    XRBaseInteractor.GetValidTargets(List<IXRInteractable>)
    Remarks

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

    InitializeReferences()

    Initializes all required references for this interactor to work. If components are missing, we try to find local components first, but if none are found, default implementations are added.

    Declaration
    protected virtual void InitializeReferences()

    OnDisable()

    See MonoBehaviour.

    Declaration
    protected override void OnDisable()
    Overrides
    XRBaseInputInteractor.OnDisable()

    OnEnable()

    See MonoBehaviour.

    Declaration
    protected override void OnEnable()
    Overrides
    XRBaseInputInteractor.OnEnable()

    OnSelectEntered(SelectEnterEventArgs)

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

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

    Event data containing the Interactable that is being selected.

    Overrides
    XRBaseInteractor.OnSelectEntered(SelectEnterEventArgs)
    Remarks

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

    See Also
    OnSelectExited(SelectExitEventArgs)

    OnSelectEntering(SelectEnterEventArgs)

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

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

    Event data containing the Interactable that is being selected.

    Overrides
    XRBaseInputInteractor.OnSelectEntering(SelectEnterEventArgs)
    Remarks

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

    See Also
    OnSelectEntered(SelectEnterEventArgs)

    OnSelectExited(SelectExitEventArgs)

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

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

    Event data containing the Interactable that is no longer selected.

    Overrides
    XRBaseInteractor.OnSelectExited(SelectExitEventArgs)
    Remarks

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

    See Also
    OnSelectEntered(SelectEnterEventArgs)

    OnSelectExiting(SelectExitEventArgs)

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

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

    Event data containing the Interactable that is no longer selected.

    Overrides
    XRBaseInputInteractor.OnSelectExiting(SelectExitEventArgs)
    Remarks

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

    See Also
    OnSelectExited(SelectExitEventArgs)

    OnUIHoverEntered(UIHoverEventArgs)

    The XRUIInputModule calls this method when the Interactor begins hovering over a UI element.

    Declaration
    protected virtual void OnUIHoverEntered(UIHoverEventArgs args)
    Parameters
    Type Name Description
    UIHoverEventArgs args

    Event data containing the UI element that is being hovered over.

    Remarks

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

    See Also
    OnUIHoverExited(UIHoverEventArgs)

    OnUIHoverExited(UIHoverEventArgs)

    The XRUIInputModule calls this method when the Interactor ends hovering over a UI element.

    Declaration
    protected virtual void OnUIHoverExited(UIHoverEventArgs args)
    Parameters
    Type Name Description
    UIHoverEventArgs args

    Event data containing the UI element that is no longer hovered over.

    Remarks

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

    See Also
    OnUIHoverEntered(UIHoverEventArgs)

    PreprocessInteractor(UpdatePhase)

    The XRInteractionManager or containing IXRInteractionGroup 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 override void PreprocessInteractor(XRInteractionUpdateOrder.UpdatePhase updatePhase)
    Parameters
    Type Name Description
    XRInteractionUpdateOrder.UpdatePhase updatePhase

    The update phase this is called during.

    Overrides
    XRBaseInputInteractor.PreprocessInteractor(XRInteractionUpdateOrder.UpdatePhase)
    Remarks

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

    See Also
    XRInteractionUpdateOrder.UpdatePhase

    TryGetCurrentUIRaycastResult(out RaycastResult)

    Gets the first UI ray cast result, if any ray cast results are available.

    Declaration
    public bool TryGetCurrentUIRaycastResult(out RaycastResult raycastResult)
    Parameters
    Type Name Description
    RaycastResult raycastResult

    When this method returns, contains the UI ray cast result if available; otherwise, the default value. Otherwise, a value of 0 if no hit occurred.

    Returns
    Type Description
    bool

    Returns true if a hit occurred, implying the ray cast hit information is valid. Otherwise, returns false.

    TryGetCurveEndNormal(out Vector3, bool)

    Attempts to determine the normal at the endpoint of the curve. This method will transform the captured local direction of the normal on select if tracking a snapped attach point.

    Declaration
    public EndPointType TryGetCurveEndNormal(out Vector3 endNormal, bool snapToSelectedAttachIfAvailable = false)
    Parameters
    Type Name Description
    Vector3 endNormal

    Output parameter that will hold the normal vector at the curve's endpoint.

    bool snapToSelectedAttachIfAvailable

    If true, the method will attempt to snap to the selected attach point, if it's available.

    Returns
    Type Description
    EndPointType

    Returns an EndPointType indicating the type of the endpoint where the normal was determined.

    TryGetCurveEndPoint(out Vector3, bool, bool)

    Attempts to determine the end point of the curve. The end point can be set to either an attach point or the end of a raycast hit.

    Declaration
    public EndPointType TryGetCurveEndPoint(out Vector3 endPoint, bool snapToSelectedAttachIfAvailable = false, bool snapToSnapVolumeIfAvailable = false)
    Parameters
    Type Name Description
    Vector3 endPoint

    Output parameter that will hold the end point vector.

    bool snapToSelectedAttachIfAvailable

    If set to true, the method will try to snap to the selected attach point, if available.

    bool snapToSnapVolumeIfAvailable

    If set to true, the method will try to snap to the nearest snap volume, if available.

    Returns
    Type Description
    EndPointType

    Returns an EndPointType indicating the type of the end point determined.

    TryGetUIModel(out TrackedDeviceModel)

    Attempts to retrieve the current UI Model.

    Declaration
    public bool TryGetUIModel(out TrackedDeviceModel model)
    Parameters
    Type Name Description
    TrackedDeviceModel model

    The returned model that reflects the UI state of this Interactor.

    Returns
    Type Description
    bool

    Returns true if the model was retrieved. Otherwise, returns false.

    UpdateUIModel(ref TrackedDeviceModel)

    Updates the current UI Model to match the state of the Interactor.

    Declaration
    public void UpdateUIModel(ref TrackedDeviceModel model)
    Parameters
    Type Name Description
    TrackedDeviceModel model

    The returned model that will match this Interactor.

    Implements

    IXRHoverInteractor
    IXRSelectInteractor
    IXRTargetPriorityInteractor
    IXRGroupMember
    IXRInteractionStrengthInteractor
    IXRActivateInteractor
    IXRInteractor
    IXRRayProvider
    IUIHoverInteractor
    IUIInteractor
    ICurveInteractionDataProvider

    Extension Methods

    XRGroupMemberExtensions.GetTopLevelContainingGroup(IXRGroupMember)
    XRHoverInteractorExtensions.GetOldestInteractableHovered(IXRHoverInteractor)
    XRInteractorExtensions.IsBlockedByInteractionWithinGroup(IXRInteractor)
    XRSelectInteractorExtensions.GetOldestInteractableSelected(IXRSelectInteractor)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)