docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class XRTransformStabilizer

    Provides low-latency stabilization for XR pose inputs, especially useful on rays.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRTransformStabilizer
    Inherited Members
    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.Inputs
    Assembly: Unity.XR.Interaction.Toolkit.dll
    Syntax
    [AddComponentMenu("XR/XR Transform Stabilizer", 11)]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.2/api/UnityEngine.XR.Interaction.Toolkit.Inputs.XRTransformStabilizer.html")]
    [DefaultExecutionOrder(-29985)]
    public class XRTransformStabilizer : MonoBehaviour

    Properties

    aimTarget

    When provided a ray, the stabilizer will calculate the rotation that keeps a ray's endpoint stable. When stabilizing rotation, it uses whatever value is most optimal - either the last rotation (minimizing rotation), or the rotation that keeps the endpoint in place.

    Declaration
    public IXRRayProvider aimTarget { get; set; }
    Property Value
    Type Description
    IXRRayProvider

    angleStabilization

    Maximum distance (in degrees) that stabilization will be applied.

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

    positionStabilization

    Maximum distance (in meters) that stabilization will be applied.

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

    targetTransform

    The Transform component whose position and rotation will be matched and stabilized.

    Declaration
    public Transform targetTransform { get; set; }
    Property Value
    Type Description
    Transform

    useLocalSpace

    If enabled, will read the target and apply stabilization in local space. Otherwise, in world space.

    Declaration
    public bool useLocalSpace { get; set; }
    Property Value
    Type Description
    bool

    Methods

    ApplyStabilization(ref Transform, in Transform, float, float, float, bool)

    Stabilizes the position and rotation of a Transform relative to a target Transform.

    Declaration
    public static void ApplyStabilization(ref Transform toStabilize, in Transform target, float positionStabilization, float angleStabilization, float deltaTime, bool useLocalSpace = false)
    Parameters
    Type Name Description
    Transform toStabilize

    The Transform to be stabilized.

    Transform target

    The target Transform to stabilize against.

    float positionStabilization

    Factor for stabilizing position (larger values result in quicker stabilization).

    float angleStabilization

    Factor for stabilizing angle (larger values result in quicker stabilization).

    float deltaTime

    The time interval to use for stabilization calculations.

    bool useLocalSpace

    Whether to use local space for position and rotation calculations. Defaults to false.

    Remarks

    This method adjusts the position and rotation of toStabilize Transform to make it gradually align with the target Transform. The positionStabilization and angleStabilization parameters control the speed of stabilization. If useLocalSpace is true, the method operates in the local space of the toStabilize Transform.

    ApplyStabilization(ref Transform, in Transform, in float3, float, float, float, bool)

    Stabilizes the position and rotation of a Transform relative to a target Transform.

    Declaration
    public static void ApplyStabilization(ref Transform toStabilize, in Transform target, in float3 targetEndpoint, float positionStabilization, float angleStabilization, float deltaTime, bool useLocalSpace = false)
    Parameters
    Type Name Description
    Transform toStabilize

    The Transform to be stabilized.

    Transform target

    The target Transform to stabilize against.

    float3 targetEndpoint

    Provides the ray endpoint for rotation calculations. If using local space this value should be in local space relative to the other transforms. (optional).

    float positionStabilization

    Factor for stabilizing position (larger values result in quicker stabilization).

    float angleStabilization

    Factor for stabilizing angle (larger values result in quicker stabilization).

    float deltaTime

    The time interval to use for stabilization calculations.

    bool useLocalSpace

    Whether to use local space for position and rotation calculations. Defaults to false.

    Remarks

    This method adjusts the position and rotation of toStabilize Transform to make it gradually align with the target Transform. The positionStabilization and angleStabilization parameters control the speed of stabilization. If useLocalSpace is true, the method operates in the local space of the toStabilize Transform.

    ApplyStabilization(ref Transform, in Transform, in IXRRayProvider, float, float, float, bool)

    Stabilizes the position and rotation of a Transform relative to a target Transform.

    Declaration
    public static void ApplyStabilization(ref Transform toStabilize, in Transform target, in IXRRayProvider aimTarget, float positionStabilization, float angleStabilization, float deltaTime, bool useLocalSpace = false)
    Parameters
    Type Name Description
    Transform toStabilize

    The Transform to be stabilized.

    Transform target

    The target Transform to stabilize against.

    IXRRayProvider aimTarget

    Provides the ray endpoint for rotation calculations (optional).

    float positionStabilization

    Factor for stabilizing position (larger values result in quicker stabilization).

    float angleStabilization

    Factor for stabilizing angle (larger values result in quicker stabilization).

    float deltaTime

    The time interval to use for stabilization calculations.

    bool useLocalSpace

    Whether to use local space for position and rotation calculations. Ignored if aimTarget is not null as it only provides world space data. Defaults to false.

    Remarks

    This method adjusts the position and rotation of toStabilize Transform to make it gradually align with the target Transform. If aimTarget is provided, it also considers the endpoint of the ray for more precise rotation stabilization. The positionStabilization and angleStabilization parameters control the speed of stabilization. If useLocalSpace is true, the method operates in the local space of the toStabilize Transform.

    Awake()

    See MonoBehaviour.

    Declaration
    protected void Awake()

    OnEnable()

    See MonoBehaviour.

    Declaration
    protected void OnEnable()

    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)