Class LocomotionSystem
The LocomotionSystem object is used to control access to the XR Rig. This system enforces that only one Locomotion Provider can move the XR Rig at one time. This is the only place that access to an XR Rig is controlled, having multiple LocomotionSystems drive a single XR Rig is not recommended.
Namespace: UnityEngine.XR.Interaction.Toolkit
Syntax
public class LocomotionSystem : MonoBehaviour
Properties
Busy
Is a locomotion request already being performed
Declaration
public bool Busy { get; }
Property Value
| Type | Description |
|---|---|
| Boolean | true if there is already a locomotion in progress |
timeout
The timeout for exclusive access to the XR Rig
Declaration
public float timeout { get; set; }
Property Value
| Type | Description |
|---|---|
| Single |
xrRig
The XR Rig object to provide access control to.
Declaration
public XRRig xrRig { get; set; }
Property Value
| Type | Description |
|---|---|
| XRRig |
Methods
FinishExclusiveOperation(LocomotionProvider)
This function informs the LocomotionSystem that Exclusive Access to the XR Rig is no longer required.
Declaration
public RequestResult FinishExclusiveOperation(LocomotionProvider provider)
Parameters
| Type | Name | Description |
|---|---|---|
| LocomotionProvider | provider | The LocomtionProvider that is relinquishing access. |
Returns
| Type | Description |
|---|---|
| RequestResult | A RequestResult that reflects the status of the request |
RequestExclusiveOperation(LocomotionProvider)
The RequestExclusiveOperation function will attempt to "lock" access to the XR Rig for the Locomotion Provider passed
Declaration
public RequestResult RequestExclusiveOperation(LocomotionProvider provider)
Parameters
| Type | Name | Description |
|---|---|---|
| LocomotionProvider | provider | The locomotion provider that is requesting access |
Returns
| Type | Description |
|---|---|
| RequestResult | A RequestResult that reflects the status of the request |
Update()
The standard update function
Declaration
public void Update()