Class XRScreenSpaceController
Interprets screen presses and gestures by using actions from the Input System and converting them into XR Interaction states, such as Select. It applies the current press position on the screen to move the transform of the GameObject.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit
Syntax
[AddComponentMenu("XR/XR Screen Space Controller", 11)]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.4/api/UnityEngine.XR.Interaction.Toolkit.XRScreenSpaceController.html")]
public class XRScreenSpaceController : XRBaseController
Remarks
This behavior requires that the Input System is enabled in the Active Input Handling setting in Edit > Project Settings > Player for input values to be read. Each input action must also be enabled to read the current value of the action. Referenced input actions in an Input Action Asset are not enabled by default.
Properties
controllerCamera
The camera associated with the screen, and through which screen presses/touches will be interpreted.
Declaration
public Camera controllerCamera { get; set; }
Property Value
Type | Description |
---|---|
Camera |
dragCurrentPositionAction
The Input System action to use for reading the screen Drag Position for this GameObject. Must be a Vector2Control Control.
Declaration
public InputActionProperty dragCurrentPositionAction { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
See Also
dragDeltaAction
The Input System action used to read the delta Drag values for this GameObject. Must be a Vector2Control Control.
Declaration
public InputActionProperty dragDeltaAction { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
See Also
pinchGapDelta
The Input System action used to read the delta Pinch values for this GameObject. Must be a AxisControl Control.
Declaration
public InputActionProperty pinchGapDelta { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
See Also
pinchStartPosition
The Input System action to use for reading the Pinch Start Position for this GameObject. Must be a Vector2Control Control.
Declaration
public InputActionProperty pinchStartPosition { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
See Also
screenTouchCount
The number of concurrent touches on the screen.
Declaration
public InputActionProperty screenTouchCount { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
tapStartPositionAction
The Input System action to use for reading screen Tap Position for this GameObject. Must be a Vector2Control Control.
Declaration
public InputActionProperty tapStartPositionAction { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
twistRotationDeltaAction
The Input System action used to read the delta Twist values for this GameObject. Must be a AxisControl Control.
Declaration
public InputActionProperty twistRotationDeltaAction { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
See Also
twistStartPosition
The Input System action to use for reading the Twist Start Position for this GameObject. Must be a Vector2Control Control.
Declaration
public InputActionProperty twistStartPosition { get; set; }
Property Value
Type | Description |
---|---|
InputActionProperty |
See Also
Methods
OnDisable()
See MonoBehaviour.
Declaration
protected override void OnDisable()
Overrides
OnEnable()
See MonoBehaviour.
Declaration
protected override void OnEnable()
Overrides
UpdateInput(XRControllerState)
Updates the XR Interaction states in the given controller state based on the current inputs of the controller device. Unity calls this automatically during UpdateController() so explicit calls to this function are not required.
Declaration
protected override void UpdateInput(XRControllerState controllerState)
Parameters
Type | Name | Description |
---|---|---|
XRControllerState | controllerState | The state of the controller. |
Overrides
UpdateTrackingInput(XRControllerState)
Updates the pose values in the given controller state based on the current tracking input of the controller device. Unity calls this automatically from FixedUpdate(), OnBeforeRender(), and UpdateController() so explicit calls to this function are not required.
Declaration
protected override void UpdateTrackingInput(XRControllerState controllerState)
Parameters
Type | Name | Description |
---|---|---|
XRControllerState | controllerState | The state of the controller. |