docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class GrabMoveProvider

    Locomotion provider that allows the user to move as if grabbing the whole world around them. When the controller moves, the XR Origin counter-moves in order to keep the controller fixed relative to the world.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    LocomotionProvider
    ConstrainedMoveProvider
    GrabMoveProvider
    Inherited Members
    ConstrainedMoveProvider.enableFreeXMovement
    ConstrainedMoveProvider.enableFreeYMovement
    ConstrainedMoveProvider.enableFreeZMovement
    ConstrainedMoveProvider.useGravity
    ConstrainedMoveProvider.transformation
    ConstrainedMoveProvider.Update()
    ConstrainedMoveProvider.MoveRig(Vector3)
    LocomotionProvider.mediator
    LocomotionProvider.transformationPriority
    LocomotionProvider.locomotionState
    LocomotionProvider.isLocomotionActive
    LocomotionProvider.canStartMoving
    LocomotionProvider.locomotionStarted
    LocomotionProvider.locomotionEnded
    LocomotionProvider.beforeStepLocomotion
    LocomotionProvider.TryPrepareLocomotion()
    LocomotionProvider.TryStartLocomotionImmediately()
    LocomotionProvider.TryEndLocomotion()
    LocomotionProvider.OnLocomotionStarting()
    LocomotionProvider.OnLocomotionEnding()
    LocomotionProvider.TryQueueTransformation(IXRBodyTransformation)
    LocomotionProvider.TryQueueTransformation(IXRBodyTransformation, int)
    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.Locomotion.Movement
    Assembly: Unity.XR.Interaction.Toolkit.dll
    Syntax
    [AddComponentMenu("XR/Locomotion/Grab Move Provider", 11)]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Locomotion.Movement.GrabMoveProvider.html")]
    [MovedFrom("UnityEngine.XR.Interaction.Toolkit")]
    public class GrabMoveProvider : ConstrainedMoveProvider

    Properties

    canMove

    Controls whether this provider can move the XR Origin.

    Declaration
    public bool canMove { get; set; }
    Property Value
    Type Description
    bool
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    controllerTransform

    The controller Transform that will drive grab movement with its local position. Will use this GameObject's Transform if not set.

    Declaration
    public Transform controllerTransform { get; set; }
    Property Value
    Type Description
    Transform
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    enableMoveWhileSelecting

    Controls whether to allow grab move locomotion while the controller is selecting an interactable.

    Declaration
    public bool enableMoveWhileSelecting { get; set; }
    Property Value
    Type Description
    bool
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    grabMoveInput

    Input data that will be used to perform grab movement while held. If the source is an Input Action, it must have a button-like interaction where phase equals performed when pressed. Typically a UnityEngine.InputSystem.Controls.ButtonControl Control or a Value type action with a Press interaction.

    Declaration
    public XRInputButtonReader grabMoveInput { get; set; }
    Property Value
    Type Description
    XRInputButtonReader
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    moveFactor

    The ratio of actual movement distance to controller movement distance.

    Declaration
    public float moveFactor { get; set; }
    Property Value
    Type Description
    float
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    Methods

    Awake()

    See MonoBehaviour.

    Declaration
    protected override void Awake()
    Overrides
    LocomotionProvider.Awake()
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    ComputeDesiredMove(out bool)

    Determines how much to move the rig.

    Declaration
    protected override Vector3 ComputeDesiredMove(out bool attemptingMove)
    Parameters
    Type Name Description
    bool attemptingMove

    Whether the provider is attempting to move.

    Returns
    Type Description
    Vector3

    Returns the translation amount in world space to move the rig.

    Overrides
    ConstrainedMoveProvider.ComputeDesiredMove(out bool)
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    IsGrabbing()

    Determines whether grab move is active.

    Declaration
    public bool IsGrabbing()
    Returns
    Type Description
    bool

    Whether grab move is active.

    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    OnDisable()

    See MonoBehaviour.

    Declaration
    protected void OnDisable()
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    OnEnable()

    See MonoBehaviour.

    Declaration
    protected void OnEnable()
    See Also
    TwoHandedGrabMoveProvider
    LocomotionProvider

    See Also

    TwoHandedGrabMoveProvider
    LocomotionProvider
    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)