docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

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

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRBaseInteractor
    XRBaseInputInteractor
    XRRayInteractor
    XRGazeInteractor
    Implements
    IXRHoverInteractor
    IXRSelectInteractor
    IXRTargetPriorityInteractor
    IXRGroupMember
    IXRInteractionStrengthInteractor
    IXRActivateInteractor
    IXRInteractor
    IAdvancedLineRenderable
    ILineRenderable
    IUIHoverInteractor
    IUIInteractor
    IXRRayProvider
    IXRScaleValueProvider
    Inherited Members
    XRRayInteractor.lineType
    XRRayInteractor.blendVisualLinePoints
    XRRayInteractor.maxRaycastDistance
    XRRayInteractor.rayOriginTransform
    XRRayInteractor.referenceFrame
    XRRayInteractor.velocity
    XRRayInteractor.acceleration
    XRRayInteractor.additionalGroundHeight
    XRRayInteractor.additionalFlightTime
    XRRayInteractor.endPointDistance
    XRRayInteractor.endPointHeight
    XRRayInteractor.controlPointDistance
    XRRayInteractor.controlPointHeight
    XRRayInteractor.sampleFrequency
    XRRayInteractor.hitDetectionType
    XRRayInteractor.sphereCastRadius
    XRRayInteractor.coneCastAngle
    XRRayInteractor.raycastMask
    XRRayInteractor.raycastTriggerInteraction
    XRRayInteractor.raycastSnapVolumeInteraction
    XRRayInteractor.hitClosestOnly
    XRRayInteractor.hoverToSelect
    XRRayInteractor.hoverTimeToSelect
    XRRayInteractor.autoDeselect
    XRRayInteractor.timeToAutoDeselect
    XRRayInteractor.enableUIInteraction
    XRRayInteractor.blockUIOnInteractableSelection
    XRRayInteractor.manipulateAttachTransform
    XRRayInteractor.useForceGrab
    XRRayInteractor.rotateSpeed
    XRRayInteractor.translateSpeed
    XRRayInteractor.rotateReferenceFrame
    XRRayInteractor.rotateMode
    XRRayInteractor.uiHoverEntered
    XRRayInteractor.uiHoverExited
    XRRayInteractor.enableARRaycasting
    XRRayInteractor.occludeARHitsWith3DObjects
    XRRayInteractor.occludeARHitsWith2DObjects
    XRRayInteractor.scaleMode
    XRRayInteractor.uiPressInput
    XRRayInteractor.uiScrollInput
    XRRayInteractor.translateManipulationInput
    XRRayInteractor.rotateManipulationInput
    XRRayInteractor.directionalManipulationInput
    XRRayInteractor.scaleToggleInput
    XRRayInteractor.scaleOverTimeInput
    XRRayInteractor.scaleDistanceDeltaInput
    XRRayInteractor.trackableType
    XRRayInteractor.angle
    XRRayInteractor.currentNearestValidTarget
    XRRayInteractor.rayEndPoint
    XRRayInteractor.rayEndTransform
    XRRayInteractor.scaleValue
    XRRayInteractor.OnValidate()
    XRRayInteractor.OnEnable()
    XRRayInteractor.OnDisable()
    XRRayInteractor.OnDrawGizmosSelected()
    XRRayInteractor.IsOverUIGameObject()
    XRRayInteractor.GetLinePoints(ref NativeArray<Vector3>, out int, Ray?)
    XRRayInteractor.GetLinePoints(ref Vector3[], out int)
    XRRayInteractor.GetLineOriginAndDirection(out Vector3, out Vector3)
    XRRayInteractor.TryGetHitInfo(out Vector3, out Vector3, out int, out bool)
    XRRayInteractor.UpdateUIModel(ref TrackedDeviceModel)
    XRRayInteractor.TryGetUIModel(out TrackedDeviceModel)
    XRRayInteractor.TryGetCurrent3DRaycastHit(out RaycastHit)
    XRRayInteractor.TryGetCurrent3DRaycastHit(out RaycastHit, out int)
    XRRayInteractor.TryGetCurrentUIRaycastResult(out RaycastResult)
    XRRayInteractor.TryGetCurrentUIRaycastResult(out RaycastResult, out int)
    XRRayInteractor.TryGetCurrentARRaycastHit(out ARRaycastHit)
    XRRayInteractor.TryGetCurrentARRaycastHit(out ARRaycastHit, out int)
    XRRayInteractor.TryGetCurrentRaycast(out RaycastHit?, out int, out RaycastResult?, out int, out bool)
    XRRayInteractor.TryGetCurrentRaycast(out RaycastHit?, out int, out RaycastResult?, out int, out bool, out ARRaycastHit?, out int, out bool)
    XRRayInteractor.RotateAttachTransform(Transform, float)
    XRRayInteractor.RotateAttachTransform(Transform, Vector2, Quaternion)
    XRRayInteractor.TranslateAttachTransform(Transform, Transform, float)
    XRRayInteractor.ProcessInteractor(XRInteractionUpdateOrder.UpdatePhase)
    XRRayInteractor.GetValidTargets(List<IXRInteractable>)
    XRRayInteractor.isSelectActive
    XRRayInteractor.CanHover(IXRHoverInteractable)
    XRRayInteractor.CanSelect(IXRSelectInteractable)
    XRRayInteractor.OnSelectEntering(SelectEnterEventArgs)
    XRRayInteractor.OnSelectExiting(SelectExitEventArgs)
    XRRayInteractor.OnUIHoverEntered(UIHoverEventArgs)
    XRRayInteractor.OnUIHoverExited(UIHoverEventArgs)
    XRBaseInputInteractor.selectInput
    XRBaseInputInteractor.activateInput
    XRBaseInputInteractor.selectActionTrigger
    XRBaseInputInteractor.allowHoveredActivate
    XRBaseInputInteractor.targetPriorityMode
    XRBaseInputInteractor.allowActivate
    XRBaseInputInteractor.shouldActivate
    XRBaseInputInteractor.shouldDeactivate
    XRBaseInputInteractor.logicalSelectState
    XRBaseInputInteractor.logicalActivateState
    XRBaseInputInteractor.buttonReaders
    XRBaseInputInteractor.valueReaders
    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.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.OnSelectEntered(SelectEnterEventArgs)
    XRBaseInteractor.OnSelectExited(SelectExitEventArgs)
    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
    [MovedFrom("UnityEngine.XR.Interaction.Toolkit")]
    [AddComponentMenu("XR/Interactors/XR Gaze Interactor", 11)]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Interactors.XRGazeInteractor.html")]
    public class XRGazeInteractor : XRRayInteractor, IXRHoverInteractor, IXRSelectInteractor, IXRTargetPriorityInteractor, IXRGroupMember, IXRInteractionStrengthInteractor, IXRActivateInteractor, IXRInteractor, IAdvancedLineRenderable, ILineRenderable, IUIHoverInteractor, IUIInteractor, IXRRayProvider, IXRScaleValueProvider

    Properties

    clampGazeAssistanceDistanceScaling

    If true, the gazeAssistanceSnapVolume scale will be clamped at gazeAssistanceDistanceScalingClampValue.

    Declaration
    public bool clampGazeAssistanceDistanceScaling { get; set; }
    Property Value
    Type Description
    bool
    See Also
    XRGazeInteractor.GazeAssistanceCalculation

    gazeAssistanceCalculation

    Defines the way the gaze assistance calculates and sizes the assistance area.

    Declaration
    public XRGazeInteractor.GazeAssistanceCalculation gazeAssistanceCalculation { get; set; }
    Property Value
    Type Description
    XRGazeInteractor.GazeAssistanceCalculation
    See Also
    XRGazeInteractor.GazeAssistanceCalculation

    gazeAssistanceColliderFixedSize

    The size of the gazeAssistanceSnapVolume collider when gazeAssistanceCalculation is FixedSize.

    Declaration
    public float gazeAssistanceColliderFixedSize { get; set; }
    Property Value
    Type Description
    float
    See Also
    XRGazeInteractor.GazeAssistanceCalculation

    gazeAssistanceColliderScale

    The scale of the gazeAssistanceSnapVolume when gazeAssistanceCalculation is FixedSize or ColliderSize .

    Declaration
    public float gazeAssistanceColliderScale { get; set; }
    Property Value
    Type Description
    float
    See Also
    XRGazeInteractor.GazeAssistanceCalculation

    gazeAssistanceDistanceScaling

    If true, the gazeAssistanceSnapVolume will also scale based on the distance from the XRGazeInteractor.

    Declaration
    public bool gazeAssistanceDistanceScaling { get; set; }
    Property Value
    Type Description
    bool
    See Also
    clampGazeAssistanceDistanceScaling

    gazeAssistanceDistanceScalingClampValue

    The value the assistance collider scale will be clamped to if clampGazeAssistanceDistanceScaling is true.

    Declaration
    public float gazeAssistanceDistanceScalingClampValue { get; set; }
    Property Value
    Type Description
    float
    See Also
    XRGazeInteractor.GazeAssistanceCalculation

    gazeAssistanceSnapVolume

    The XRInteractableSnapVolume to place where this XRGazeInteractor hits a valid target for gaze assistance. If not set, Unity will create one by default.

    Declaration
    public XRInteractableSnapVolume gazeAssistanceSnapVolume { get; set; }
    Property Value
    Type Description
    XRInteractableSnapVolume
    Remarks

    Only SphereCollider and BoxCollider are supported for automatic dynamic scaling of the snapCollider.

    See Also
    allowGazeInteraction
    allowGazeSelect
    allowGazeAssistance

    Methods

    Awake()

    See MonoBehaviour.

    Declaration
    protected override void Awake()
    Overrides
    XRRayInteractor.Awake()
    See Also
    allowGazeInteraction
    allowGazeSelect
    allowGazeAssistance

    GetHoverTimeToSelect(IXRInteractable)

    Gets the number of seconds for which this interactor must hover over the interactable to select it if hoverToSelect is enabled.

    Declaration
    protected override float GetHoverTimeToSelect(IXRInteractable interactable)
    Parameters
    Type Name Description
    IXRInteractable interactable

    The interactable to get the duration for.

    Returns
    Type Description
    float

    Returns the number of seconds for which this Interactor must hover over an Interactable to select it.

    Overrides
    XRRayInteractor.GetHoverTimeToSelect(IXRInteractable)
    See Also
    hoverTimeToSelect

    GetTimeToAutoDeselect(IXRInteractable)

    Gets the number of seconds for which this interactor will keep the interactable selected before automatically deselecting it.

    Declaration
    protected override float GetTimeToAutoDeselect(IXRInteractable interactable)
    Parameters
    Type Name Description
    IXRInteractable interactable

    The interactable to get the duration for.

    Returns
    Type Description
    float

    Returns the number of seconds for which this Interactor will keep an Interactable selected before automatically deselecting it.

    Overrides
    XRRayInteractor.GetTimeToAutoDeselect(IXRInteractable)
    See Also
    timeToAutoDeselect

    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
    XRRayInteractor.PreprocessInteractor(XRInteractionUpdateOrder.UpdatePhase)
    Remarks

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

    See Also
    XRInteractionUpdateOrder.UpdatePhase

    UpdateSnapVolumeInteractable(IXRInteractable)

    Updates the gazeAssistanceSnapVolume based on a target interactable.

    Declaration
    protected virtual void UpdateSnapVolumeInteractable(IXRInteractable interactable)
    Parameters
    Type Name Description
    IXRInteractable interactable

    The IXRInteractable this XRGazeInteractor is processing and using to update the gazeAssistanceSnapVolume.

    See Also
    allowGazeInteraction
    allowGazeSelect
    allowGazeAssistance

    Implements

    IXRHoverInteractor
    IXRSelectInteractor
    IXRTargetPriorityInteractor
    IXRGroupMember
    IXRInteractionStrengthInteractor
    IXRActivateInteractor
    IXRInteractor
    IAdvancedLineRenderable
    ILineRenderable
    IUIHoverInteractor
    IUIInteractor
    IXRRayProvider
    IXRScaleValueProvider

    Extension Methods

    XRGroupMemberExtensions.GetTopLevelContainingGroup(IXRGroupMember)
    XRHoverInteractorExtensions.GetOldestInteractableHovered(IXRHoverInteractor)
    XRInteractorExtensions.IsBlockedByInteractionWithinGroup(IXRInteractor)
    XRSelectInteractorExtensions.GetOldestInteractableSelected(IXRSelectInteractor)

    See Also

    allowGazeInteraction
    allowGazeSelect
    allowGazeAssistance
    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)