UxrSteamVRControllerInput Class
Base class for all SteamVR input devices. Provides common input handling thanks to using the actions exported by the SteamVRActionsExporter. Child classes will require some overrides and minimal input handling if necessary.
Inheritance Hierarchy
System.Object
Object
Component
Behaviour
MonoBehaviour
UltimateXR.Core.Components.UxrComponent
UltimateXR.Core.Components.UxrComponent(UxrControllerInput)
UltimateXR.Core.Components.Composite.UxrAvatarComponent(UxrControllerInput)
UltimateXR.Devices.UxrControllerInput
UltimateXR.Devices.Integrations.SteamVR.UxrSteamVRControllerInput
More…
Namespace: UltimateXR.Devices.Integrations.SteamVR
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0
Syntax
C#
public abstract class UxrSteamVRControllerInput : UxrControllerInput
The UxrSteamVRControllerInput type exposes the following members.
Constructors
Name | Description | |
---|---|---|
UxrSteamVRControllerInput |
Properties
Name | Description | |
---|---|---|
ControllerNames | Gets list of controller names that the component can handle. | |
IsHandednessSupported |
Gets whether Handedness can be used. In Single devices, it may be used to control which hand is holding the controller. In Dual devices it is used to determine which hands have the Primary (dominant) and Secondary (non-dominant) roles. Devices such as gamepads don’t support handedness and will target the single device no matter which UxrHandSide is used. In this case it is good practice to use Primary to target the device in order to make the code cleaner. (Overrides UxrControllerInput.IsHandednessSupported.) | |
SDKDependency | SteamVR child classes will require SteamVR SDK to access functionality. (Overrides UxrControllerInput.SDKDependency.) | |
UsesHandSkeletons | Gets if the class will use hand skeletons. |
Methods
Name | Description | |
---|---|---|
Awake | Takes care of registering the component in the global list of SteamVR input components. Builds the action list to access input and starts listening for device connections. (Overrides UxrControllerInput.Awake().) | |
GetInput1D | Gets the state of an analog controller input element. (Overrides UxrControllerInput.GetInput1D(UxrHandSide, UxrInput1D, Boolean).) | |
GetInput2D | Gets the state of a 2D input element (joystick, touchpad…). (Overrides UxrControllerInput.GetInput2D(UxrHandSide, UxrInput2D, Boolean).) | |
IsControllerEnabled | Checks whether the given controller is enabled. (Overrides UxrControllerInput.IsControllerEnabled(UxrHandSide).) | |
OnDisable | Called when the component is disabled. In the case the component was using skeletal input, the hand will be driven by the Avatar Animator back again. (Overrides UxrComponent<T>.OnDisable().) | |
SendHapticFeedback(UxrHandSide, UxrHapticClip) | Sends haptic feedback to a controller if the controller supports it. (Overrides UxrControllerInput.SendHapticFeedback(UxrHandSide, UxrHapticClip).) | |
SendHapticFeedback(UxrHandSide, Single, Single, Single, UxrHapticMode) | Sends haptic feedback to a controller if the controller supports it. (Overrides UxrControllerInput.SendHapticFeedback(UxrHandSide, Single, Single, Single, UxrHapticMode).) | |
Start | Initializes SteamVR if necessary and activates the UltimateXR action set. Will initialize skeleton functionality if necessary. (Overrides UxrControllerInput.Start().) | |
StopHapticFeedback | Stops all current haptics in a given controller. (Overrides UxrControllerInput.StopHapticFeedback(UxrHandSide).) | |
UpdateInput | Updates the complete input state using our common SteamVR actions. This allows to use the same interface for all controllers and enables the implementation of new devices with minimal effort. (Overrides UxrControllerInput.UpdateInput().) |
Extension Methods
Name | Description | |
---|---|---|
CheckSetEnabled | Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.) | |
GetOrAddComponent<T> | Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.) | |
GetPathUnderScene | Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.) | |
GetSceneUid | Gets an unique identifier string for the given component. (Defined by ComponentExt.) | |
GetUniqueScenePath | Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.) | |
LoopCoroutine | Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.) | |
SafeGetComponentInParent<T> | Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.) | |
ShowInInspector(Boolean) | Overloaded. Controls whether to show the current object in the inspector. (Defined by ObjectExt.) | |
ShowInInspector(Boolean, Boolean) | Overloaded. Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.) | |
ThrowIfNull | Throws an exception if the object is null. (Defined by ObjectExt.) |
See Also
Reference
UltimateXR.Devices.Integrations.SteamVR Namespace