API reference
API reference
Select your platform
No SDKs available
No versions available

Controller Class

The Interaction SDK's default concrete implementation of IController.
Instances of this type represent and expose the capabilities of tracked XR controllers in the physical world. Controllers are leveraged in many different ways throughout the Interaction SDK (as IControllers directly, as ISelectors, as sources for RayInteractor.Ray data, etc.) and, along with Hands, is one of the main interaction modalities supported by the SDK.

Fields

Implementation of IController.Handedness; for details, please refer to the related documentation provided for that interface.
Implementation of IController.Scale; for details, please refer to the related documentation provided for that interface.

Properties

Implementation of IController.IsConnected; for details, please refer to the related documentation provided for that interface.
Implementation of IController.IsPoseValid; for details, please refer to the related documentation provided for that interface.
Checks whether a valid "pointer pose" is currently available.
See IController.TryGetPointerPose(out Pose) for details on what a pointer pose is.
Implementation of IController.ControllerInput; for details, please refer to the related documentation provided for that interface.

Events

Implementation of IController.WhenUpdated; for details, please refer to the related documentation provided for that interface.

Member Functions

Implementation of IController.IsButtonUsageAnyActive(ControllerButtonUsage); for details, please refer to the related documentation provided for that interface.
Implementation of IController.IsButtonUsageAllActive(ControllerButtonUsage); for details, please refer to the related documentation provided for that interface.
Implementation of IController.TryGetPose(out Pose); for details, please refer to the related documentation provided for that interface.
Implementation of IController.TryGetPointerPose(out Pose); for details, please refer to the related documentation provided for that interface.
Overrides and encapsulates DataSource<TData>.MarkInputDataRequiresUpdate, augmenting the behavior of the base type's method by invoking WhenUpdated to notify observers of the occurrence.
Wrapper for DataModifier<TData>.InjectAllDataModifier(DataSource<TData>.UpdateModeFlags, IDataSource, IDataSource<TData>, bool), for injecting the required dependencies to a dynamically-allocated Controller instance.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.

Protected Functions

override void Apply
Did you find this page helpful?
Thumbs up icon
Thumbs down icon