docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class SnapTurnProvider

    Locomotion provider that allows the user to rotate their rig in fixed angle increments based on read input values, such as from the controller thumbstick.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    LocomotionProvider
    SnapTurnProvider
    Inherited Members
    LocomotionProvider.mediator
    LocomotionProvider.transformationPriority
    LocomotionProvider.locomotionState
    LocomotionProvider.isLocomotionActive
    LocomotionProvider.locomotionStarted
    LocomotionProvider.locomotionEnded
    LocomotionProvider.beforeStepLocomotion
    LocomotionProvider.Awake()
    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.Turning
    Assembly: Unity.XR.Interaction.Toolkit.dll
    Syntax
    [AddComponentMenu("XR/Locomotion/Snap Turn Provider", 11)]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Locomotion.Turning.SnapTurnProvider.html")]
    public class SnapTurnProvider : LocomotionProvider

    Properties

    canStartMoving

    Whether the provider has finished preparing for locomotion and is ready to enter the Moving state. This only applies when locomotionState is Preparing, so there is no need for this implementation to query locomotionState.

    Declaration
    public override bool canStartMoving { get; }
    Property Value
    Type Description
    bool
    Overrides
    LocomotionProvider.canStartMoving
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    debounceTime

    The amount of time that Unity waits before starting another snap turn.

    Declaration
    public float debounceTime { get; set; }
    Property Value
    Type Description
    float
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    delayTime

    The time (in seconds) to delay the first turn after receiving initial input for the turn. Subsequent turns while holding down input are delayed by the debounceTime, not the delay time. This delay can be used, for example, as time to set a tunneling vignette effect as a VR comfort option.

    Declaration
    public float delayTime { get; set; }
    Property Value
    Type Description
    float
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    enableTurnAround

    Controls whether to enable 180° snap turns.

    Declaration
    public bool enableTurnAround { get; set; }
    Property Value
    Type Description
    bool
    See Also
    enableTurnLeftRight

    enableTurnLeftRight

    Controls whether to enable left and right snap turns.

    Declaration
    public bool enableTurnLeftRight { get; set; }
    Property Value
    Type Description
    bool
    See Also
    enableTurnAround

    leftHandTurnInput

    Reads input data from the left hand controller. Input Action must be a Value action type (Vector 2).

    Declaration
    public XRInputValueReader<Vector2> leftHandTurnInput { get; set; }
    Property Value
    Type Description
    XRInputValueReader<Vector2>
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    rightHandTurnInput

    Reads input data from the right hand controller. Input Action must be a Value action type (Vector 2).

    Declaration
    public XRInputValueReader<Vector2> rightHandTurnInput { get; set; }
    Property Value
    Type Description
    XRInputValueReader<Vector2>
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    transformation

    The transformation that is used by this component to apply turn movement.

    Declaration
    public XRBodyYawRotation transformation { get; set; }
    Property Value
    Type Description
    XRBodyYawRotation
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    turnAmount

    The number of degrees clockwise Unity rotates the rig when snap turning clockwise.

    Declaration
    public float turnAmount { get; set; }
    Property Value
    Type Description
    float
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    Methods

    GetTurnAmount(Vector2)

    Determines the turn amount in degrees for the given input vector.

    Declaration
    protected virtual float GetTurnAmount(Vector2 input)
    Parameters
    Type Name Description
    Vector2 input

    Input vector, such as from a thumbstick.

    Returns
    Type Description
    float

    Returns the turn amount in degrees for the given input vector.

    See Also
    LocomotionProvider
    ContinuousTurnProvider

    OnDisable()

    See MonoBehaviour.

    Declaration
    protected void OnDisable()
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    OnEnable()

    See MonoBehaviour.

    Declaration
    protected void OnEnable()
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    StartTurn(float)

    Begins turning locomotion.

    Declaration
    protected void StartTurn(float amount)
    Parameters
    Type Name Description
    float amount

    Amount to turn.

    See Also
    LocomotionProvider
    ContinuousTurnProvider

    Update()

    See MonoBehaviour.

    Declaration
    protected void Update()
    See Also
    LocomotionProvider
    ContinuousTurnProvider

    See Also

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