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()