docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class XRBodyTransformer

    Behavior that manages user locomotion via transformation of an Unity.XR.CoreUtils.XROrigin.Origin. This behavior applies queued IXRBodyTransformations every Update().

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRBodyTransformer
    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.Locomotion
    Assembly: Unity.XR.Interaction.Toolkit.dll
    Syntax
    [AddComponentMenu("XR/Locomotion/XR Body Transformer", 11)]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Locomotion.XRBodyTransformer.html")]
    [DefaultExecutionOrder(-205)]
    public class XRBodyTransformer : MonoBehaviour

    Properties

    bodyPositionEvaluator

    Object supplied to transformations that determines the position of the user's body. If null on OnEnable(), this will be set to a shared instance of UnderCameraBodyPositionEvaluator.

    Declaration
    public IXRBodyPositionEvaluator bodyPositionEvaluator { get; set; }
    Property Value
    Type Description
    IXRBodyPositionEvaluator
    Remarks

    Setting this property at runtime also re-links the constrainedBodyManipulator to the new evaluator.

    constrainedBodyManipulator

    Object supplied to transformations that can be used to perform movement that is constrained by collision (optional, may be null).

    Declaration
    public IConstrainedXRBodyManipulator constrainedBodyManipulator { get; set; }
    Property Value
    Type Description
    IConstrainedXRBodyManipulator
    Remarks

    Setting this property at runtime unlinks the previous manipulator from the body and links the new manipulator to the body.

    useCharacterControllerIfExists

    If true and if a constrainedBodyManipulator is not already assigned, this behavior will check in OnEnable() if the Unity.XR.CoreUtils.XROrigin.Origin has a CharacterController. If so, it will set constrainedBodyManipulator to a shared instance of CharacterControllerBodyManipulator, so that the Character Controller is used to perform constrained movement.

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

    xrOrigin

    The XR Origin whose Unity.XR.CoreUtils.XROrigin.Origin to transform (will find one if null).

    Declaration
    public XROrigin xrOrigin { get; set; }
    Property Value
    Type Description
    XROrigin
    Remarks

    Setting this property at runtime also re-links the constrainedBodyManipulator to the new origin.

    Methods

    OnDisable()

    See MonoBehaviour.

    Declaration
    protected virtual void OnDisable()

    OnEnable()

    See MonoBehaviour.

    Declaration
    protected virtual void OnEnable()

    QueueTransformation(IXRBodyTransformation, int)

    Queues a transformation to be applied during the next Update(). Transformations are applied sequentially based on ascending priority. Transformations with the same priority are applied in the order they were queued. Each transformation is removed from the queue after it is applied.

    Declaration
    public void QueueTransformation(IXRBodyTransformation transformation, int priority = 0)
    Parameters
    Type Name Description
    IXRBodyTransformation transformation

    The transformation that will receive a call to Apply(XRMovableBody) in the next Update().

    int priority

    Value that determines when to apply the transformation. Transformations with lower priority values are applied before those with higher priority values.

    Reset()

    See MonoBehaviour.

    Declaration
    protected virtual void Reset()

    Update()

    See MonoBehaviour.

    Declaration
    protected virtual void Update()

    Events

    beforeApplyTransformations

    Calls the methods in its invocation list every Update() before transformations are applied.

    Declaration
    public event Action<XRBodyTransformer> beforeApplyTransformations
    Event Type
    Type Description
    Action<XRBodyTransformer>
    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)