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 |