docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class SnapTurnProviderBase

    A locomotion provider that allows the user to rotate their rig using a 2D axis input.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    LocomotionProvider
    SnapTurnProviderBase
    ActionBasedSnapTurnProvider
    DeviceBasedSnapTurnProvider
    Inherited Members
    LocomotionProvider.beginLocomotion
    LocomotionProvider.endLocomotion
    LocomotionProvider.system
    LocomotionProvider.locomotionPhase
    LocomotionProvider.CanBeginLocomotion()
    LocomotionProvider.BeginLocomotion()
    LocomotionProvider.EndLocomotion()
    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
    Assembly: Unity.XR.Interaction.Toolkit.dll
    Syntax
    public abstract class SnapTurnProviderBase : LocomotionProvider

    Properties

    debounceTime

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

    Declaration
    public float debounceTime { get; set; }
    Property Value
    Type Description
    float

    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

    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

    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

    Methods

    Awake()

    See MonoBehaviour.

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

    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.

    ReadInput()

    Reads the current value of the snap turn input.

    Declaration
    protected abstract Vector2 ReadInput()
    Returns
    Type Description
    Vector2

    Returns the input vector, such as from a thumbstick.

    StartTurn(float)

    Begins turning locomotion.

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

    Amount to turn.

    Update()

    See MonoBehaviour.

    Declaration
    protected void Update()
    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)