Class ActionBasedController
XRBaseController MonoBehaviour that interprets Input System events into XR Interaction Interactor position, rotation, and interaction states.
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit
Syntax
[AddComponentMenu("XR/XR Controller (Action-based)")]
public class ActionBasedController : XRBaseController
Properties
activateAction
The Input System action to use for Activating a selected Interactable. Must be a ButtonControl Control.
Declaration
public InputActionProperty activateAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
buttonPressPoint
The value threshold for when a button is considered pressed to trigger an interaction event. If a button has a value equal to or greater than this value, it is considered pressed.
Declaration
[Obsolete("Deprecated, this property will be removed when Input System dependency version is bumped to 1.1.0.")]
public float buttonPressPoint { get; set; }
Property Value
| Type | Description |
|---|---|
| Single |
hapticDeviceAction
The Input System action to use for identifying the device to send haptic impulses to. Can be any control type that will have an active control driving the action.
Declaration
public InputActionProperty hapticDeviceAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
positionAction
The Input System action to use for Position Tracking for this GameObject. Must be a Vector3Control Control.
Declaration
public InputActionProperty positionAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
rotateAnchorAction
The Input System action to use for rotating the interactor's attach point. Must be a Vector2Control Control. Will use the X-axis as the rotation input.
Declaration
public InputActionProperty rotateAnchorAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
rotationAction
The Input System action to use for Rotation Tracking for this GameObject. Must be a QuaternionControl Control.
Declaration
public InputActionProperty rotationAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
selectAction
The Input System action to use for Selecting an Interactable. Must be a ButtonControl Control.
Declaration
public InputActionProperty selectAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
translateAnchorAction
The Input System action to use for translating the interactor's attach point closer or further away from the interactor. Must be a Vector2Control Control. Will use the Y-axis as the translation input.
Declaration
public InputActionProperty translateAnchorAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
uiPressAction
The Input System action to use for UI interaction. Must be a ButtonControl Control.
Declaration
public InputActionProperty uiPressAction { get; set; }
Property Value
| Type | Description |
|---|---|
| InputActionProperty |
Methods
OnDisable()
Declaration
protected override void OnDisable()
Overrides
OnEnable()
Declaration
protected override void OnEnable()
Overrides
SendHapticImpulse(Single, Single)
Play a haptic impulse on the controller if one is available.
Declaration
public override bool SendHapticImpulse(float amplitude, float duration)
Parameters
| Type | Name | Description |
|---|---|---|
| Single | amplitude | Amplitude (from 0.0 to 1.0) to play impulse at. |
| Single | duration | Duration (in seconds) to play haptic impulse. |
Returns
| Type | Description |
|---|---|
| Boolean |
Overrides
UpdateInput(XRControllerState)
Declaration
protected override void UpdateInput(XRControllerState controllerState)
Parameters
| Type | Name | Description |
|---|---|---|
| XRControllerState | controllerState |
Overrides
UpdateTrackingInput(XRControllerState)
Declaration
protected override void UpdateTrackingInput(XRControllerState controllerState)
Parameters
| Type | Name | Description |
|---|---|---|
| XRControllerState | controllerState |