Class XRInputModalityManager
Manages swapping between hands and controllers at runtime based on whether hands and controllers are tracked.
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit.Inputs
Assembly: solution.dll
Syntax
[AddComponentMenu("XR/XR Input Modality Manager", 11)]
[HelpURL("https://docs.unity.cn/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Inputs.XRInputModalityManager.html")]
public class XRInputModalityManager : MonoBehaviour
Remarks
This component uses the following logic for determining which modality is active:
If a hand begin tracking, this component will switch to the hand group of interactors.
If the player wakes the motion controllers by grabbing them, this component will switch to the motion controller group of interactors
once they become tracked. While waiting to activate the controller GameObject while not tracked, both groups will be deactivated.
This component is useful even when a project does not use hand tracking. By assigning the motion controller set of GameObjects,
this component will keep them deactivated until the controllers become tracked to avoid showing the controllers at the default
origin position.
Properties
| Name | Description |
|---|---|
| currentInputMode | Static bindable variable used to track the current input mode. |
| leftController | GameObject representing the left motion controller group of interactors. Will toggle on when using motion controllers and off when using hand tracking. |
| leftHand | GameObject representing the left hand group of interactors. Will toggle on when using hand tracking and off when using motion controllers. |
| motionControllerModeEnded | Calls the methods in its invocation list when both hands have stopped motion controller mode. |
| motionControllerModeStarted | Calls the methods in its invocation list when motion controller mode is started. |
| rightController | GameObject representing the left motion controller group of interactors. Will toggle on when using motion controllers and off when using hand tracking. |
| rightHand | GameObject representing the right hand group of interactors. Will toggle on when using hand tracking and off when using motion controllers. |
| trackedHandModeEnded | Calls the methods in its invocation list when both hands have stopped hand tracking mode. |
| trackedHandModeStarted | Calls the methods in its invocation list when hand tracking mode is started. |
Methods
| Name | Description |
|---|---|
| OnDisable() | See MonoBehaviour. |
| OnEnable() | See MonoBehaviour. |
| Update() | See MonoBehaviour. |