UxrTeleportLocomotion Class

Standard locomotion using an arc projected from the controllers.

Inheritance Hierarchy

Namespace: UltimateXR.Locomotion
Assembly: UltimateXR (in UltimateXR.dll) Version:



public class UxrTeleportLocomotion : UxrTeleportLocomotionBase

The UxrTeleportLocomotion type exposes the following members.


Public methodUxrTeleportLocomotion


Protected propertyCanBackStep Gets whether the avatar can currently receive input to step backwards. (Overrides UxrTeleportLocomotionBase.CanBackStep.)
Protected propertyCanRotate Gets whether the avatar can currently receive input to rotate around. (Overrides UxrTeleportLocomotionBase.CanRotate.)
Public propertyIsSmoothLocomotion

Gets whether the locomotion updates the avatar each frame. An example of smooth locomotion is UxrSmoothLocomotion where the user moves the avatar in an identical way to a FPS video-game. An example of non-smooth locomotion is UxrTeleportLocomotion where the avatar is moved only on specific occasions.

The smooth locomotion concept should not be confused with the ability to move the head around each frame. Smooth locomotion refers to the avatar position, which is determined by the avatar’s root GameObject. It should also not be confused with the ability to perform teleportation in a smooth way. Even if some teleportation locomotion methods can teleport using smooth transitions, it should not be considered as smooth locomotion.

The smooth locomotion property can be used to determine whether certain operations, such as LOD switching, should be processed each frame or only when the avatar position changed.

(Overrides UxrLocomotion.IsSmoothLocomotion.)


Protected methodAwake Initializes the component. (Overrides UxrTeleportLocomotionBase.Awake().)
Protected methodCancelTarget Cancels the current teleport target. When overriden in child classes the base class should be called too. (Overrides UxrTeleportLocomotionBase.CancelTarget().)
Protected methodOnEnable Resets the component when enabled. (Overrides UxrTeleportLocomotionBase.OnEnable().)
Protected methodUpdateTeleportLocomotion Can be overriden in child classes to execute the additional per-frame teleport locomotion logic. (Overrides UxrTeleportLocomotionBase.UpdateTeleportLocomotion().)

Extension Methods

Public Extension MethodCheckSetEnabled Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.)
Public Extension MethodGetOrAddComponent<T> Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.)
Public Extension MethodGetPathUnderScene Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.)
Public Extension MethodGetSceneUid Gets an unique identifier string for the given component. (Defined by ComponentExt.)
Public Extension MethodGetUniqueScenePath Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.)
Public Extension MethodLoopCoroutine Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.)
Public Extension MethodSafeGetComponentInParent<T> Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.)
Public Extension MethodShowInInspector(Boolean)Overloaded.
Controls whether to show the current object in the inspector. (Defined by ObjectExt.)
Public Extension MethodShowInInspector(Boolean, Boolean)Overloaded.
Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.)
Public Extension MethodThrowIfNull Throws an exception if the object is null. (Defined by ObjectExt.)

See Also


UltimateXR.Locomotion Namespace