Class ActionBasedController | XR Interaction Toolkit | 0.10.0-preview.7
docs.unity3d.com
    Show / Hide Table of Contents

    Class ActionBasedController

    XRBaseController MonoBehaviour that interprets Input System events into XR Interaction Interactor position, rotation, and interaction states.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRBaseController
    ActionBasedController
    Inherited Members
    XRBaseController.updateTrackingType
    XRBaseController.enableInputTracking
    XRBaseController.enableInputActions
    XRBaseController.modelPrefab
    XRBaseController.modelTransform
    XRBaseController.animateModel
    XRBaseController.modelSelectTransition
    XRBaseController.modelDeSelectTransition
    XRBaseController.anchorControlDeadzone
    XRBaseController.anchorControlOffAxisDeadzone
    XRBaseController.selectInteractionState
    XRBaseController.activateInteractionState
    XRBaseController.uiPressInteractionState
    XRBaseController.hideControllerModel
    XRBaseController.Awake()
    XRBaseController.Update()
    XRBaseController.UpdateController()
    XRBaseController.OnBeforeRender()
    XRBaseController.GetControllerState(XRControllerState)
    XRBaseController.SetControllerState(XRControllerState)
    XRBaseController.ApplyControllerState(XRInteractionUpdateOrder.UpdatePhase, XRControllerState)
    XRBaseController.UpdateControllerModelAnimation()
    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
    Namespace: UnityEngine.XR.Interaction.Toolkit
    Syntax
    [AddComponentMenu("XR/XR Controller (Action-based)")]
    public class ActionBasedController : XRBaseController

    Properties

    activateAction

    The Input System action to use for Activating a selected Interactable. Must be a ButtonControl Control.

    Declaration
    public InputActionProperty activateAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    buttonPressPoint

    The value threshold for when a button is considered pressed to trigger an interaction event. If a button has a value equal to or greater than this value, it is considered pressed.

    Declaration
    [Obsolete("Deprecated, this property will be removed when Input System dependency version is bumped to 1.1.0.")]
    public float buttonPressPoint { get; set; }
    Property Value
    Type Description
    Single

    hapticDeviceAction

    The Input System action to use for identifying the device to send haptic impulses to. Can be any control type that will have an active control driving the action.

    Declaration
    public InputActionProperty hapticDeviceAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    positionAction

    The Input System action to use for Position Tracking for this GameObject. Must be a Vector3Control Control.

    Declaration
    public InputActionProperty positionAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    rotateAnchorAction

    The Input System action to use for rotating the interactor's attach point. Must be a Vector2Control Control. Will use the X-axis as the rotation input.

    Declaration
    public InputActionProperty rotateAnchorAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    rotationAction

    The Input System action to use for Rotation Tracking for this GameObject. Must be a QuaternionControl Control.

    Declaration
    public InputActionProperty rotationAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    selectAction

    The Input System action to use for Selecting an Interactable. Must be a ButtonControl Control.

    Declaration
    public InputActionProperty selectAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    translateAnchorAction

    The Input System action to use for translating the interactor's attach point closer or further away from the interactor. Must be a Vector2Control Control. Will use the Y-axis as the translation input.

    Declaration
    public InputActionProperty translateAnchorAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    uiPressAction

    The Input System action to use for UI interaction. Must be a ButtonControl Control.

    Declaration
    public InputActionProperty uiPressAction { get; set; }
    Property Value
    Type Description
    InputActionProperty

    Methods

    OnDisable()

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

    OnEnable()

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

    SendHapticImpulse(Single, Single)

    Play a haptic impulse on the controller if one is available.

    Declaration
    public override bool SendHapticImpulse(float amplitude, float duration)
    Parameters
    Type Name Description
    Single amplitude

    Amplitude (from 0.0 to 1.0) to play impulse at.

    Single duration

    Duration (in seconds) to play haptic impulse.

    Returns
    Type Description
    Boolean

    Returns true if successful. Returns false otherwise.

    Overrides
    XRBaseController.SendHapticImpulse(Single, Single)

    UpdateInput(XRControllerState)

    Declaration
    protected override void UpdateInput(XRControllerState controllerState)
    Parameters
    Type Name Description
    XRControllerState controllerState
    Overrides
    XRBaseController.UpdateInput(XRControllerState)

    UpdateTrackingInput(XRControllerState)

    Declaration
    protected override void UpdateTrackingInput(XRControllerState controllerState)
    Parameters
    Type Name Description
    XRControllerState controllerState
    Overrides
    XRBaseController.UpdateTrackingInput(XRControllerState)
    Back to top
    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