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

InputSystem Class

Extends SystemBase
Modifiers: final
DeprecatedThis system is deprecated and has been replaced by IsdkSystem. To use this system instead, change the inputSystemType argument on VrFeature.
System that processes raw VR controller and hand input into actionable interaction events.
Extends SystemBase. Reads controller poses and button states, dispatches input events to entities.

See Also

Constructors

InputSystem ( locomotionSystem , ctx )
Signature
constructor(locomotionSystem: LocomotionSystem, ctx: Context)
Parameters
locomotionSystem: LocomotionSystem  Locomotion system.
ctx: Context  Ctx.

Properties

active : Boolean
[Get]
Signature
var active: Boolean
ctx : Context
[Get]
Ctx.
Signature
val ctx: Context
cursorActuatedRatio : Float
[Get][Set]
Signature
var cursorActuatedRatio: Float
cursorDepthScale : Float
[Get][Set]
Signature
var cursorDepthScale: Float
cursorScale : Float
[Get][Set]
Signature
var cursorScale: Float
cursorScaleMultiplier : Float
[Get][Set]
Signature
var cursorScaleMultiplier: Float
directInputEnabled : Boolean
[Get]
Signature
var directInputEnabled: Boolean
executeCount : Long
[Get]
The number of times this system's SystemBase.execute method has been called by the system manager. Incremented automatically before each execution cycle. Useful for performance monitoring.
Signature
var executeCount: Long
locomotionSystem : LocomotionSystem
[Get]
Locomotion system.
Signature
val locomotionSystem: LocomotionSystem
maxPointerDistance : Float
[Get][Set]
Signature
var maxPointerDistance: Float
preBuiltQuery : BuiltQuery
[Get]
Signature
val preBuiltQuery: BuiltQuery
selectButtons : Int
[Get][Set]
Signature
var selectButtons: Int
systemManager : SystemManager
[Get][Set]
The SystemManager that this system is registered with. Provides access to other systems and the scene. Initialized during system registration.
Signature
lateinit var systemManager: SystemManager
touchButtons : Int
[Get][Set]
Signature
var touchButtons: Int

Methods

associateSystemManager ( systemManager )
Associates this system with a SystemManager. Called during registration. Throws RuntimeException if the system is already associated — each system instance can only belong to one manager.
Signature
fun associateSystemManager(systemManager: SystemManager)
Parameters
systemManager: SystemManager  The system manager that will own and execute this system.
delete ( entity )
Called when an SystemBase.delete is removed from the scene. Override to clean up any per-entity state this system maintains, such as cached components, tracking maps, or native resource handles.
Signature
open fun delete(entity: Entity)
Parameters
entity: Entity
destroy ()
Called during system shutdown to release all resources held by this system. Override to dispose of native handles, close streams, and clear any global state accumulated during the session.
Signature
open override fun destroy()
enableDirectInput ( enabled )
Signature
fun enableDirectInput(enabled: Boolean)
Parameters
enabled: Boolean
enableInput ( enabled )
Signature
fun enableInput(enabled: Boolean)
Parameters
enabled: Boolean
equals ( other )
Checks if this system is equal to another object. Two systems are considered equal if they are the same instance or share the same Kotlin class, regardless of configuration state.
Signature
open operator override fun equals(other: Any?): Boolean
Parameters
other: Any?  The object to compare with.
Returns
Boolean  True if the other object is the same system instance or the same system class.
execute ()
Called each frame by the SystemManager to perform this system's per-tick logic. Override to query entities with relevant components and apply updates.
Signature
open override fun execute()
getDependencies ()
Returns the execution ordering dependencies for this system. Override to declare which other systems must run before or after this one using SystemDependencies.
Signature
open fun getDependencies(): SystemDependencies?
Returns
SystemDependencies?  The dependency configuration, or null if this system has no ordering constraints.
getScene ()
Returns the Scene that this system operates within. Delegates to the associated SystemManager to retrieve the active scene instance.
Signature
fun getScene(): Scene
Returns
Scene  The scene containing the entities and rendering state for this system.
hashCode ()
Returns the hash code of this system, based on its Kotlin class identity. Consistent with the SystemBase.equals implementation — systems of the same class produce the same hash code.
Signature
open override fun hashCode(): Int
Returns
Int  The hash code derived from this system's Kotlin class.
setLeftHandDirectionOverride ( lookDirection )
Overrides the natural direction of the left hand controller with a custom look direction. When set, the controller's pose rotation will be calculated using this direction instead of the controller's natural orientation.
Signature
fun setLeftHandDirectionOverride(lookDirection: Vector3?)
Parameters
lookDirection: Vector3?  The direction vector to override the left hand controller's look direction, or null to disable the override and use natural controller orientation. Example:
// Point left hand controller towards a specific target
val targetDirection = Vector3(1.0f, 0.0f, 0.0f) // Point right
inputSystem.setLeftHandDirectionOverride(targetDirection)
// Restore natural controller orientation
inputSystem.setLeftHandDirectionOverride(null)

setRightHandDirectionOverride ( lookDirection )
Overrides the natural direction of the right hand controller with a custom look direction. When set, the controller's pose rotation will be calculated using this direction instead of the controller's natural orientation.
Signature
fun setRightHandDirectionOverride(lookDirection: Vector3?)
Parameters
lookDirection: Vector3?  The direction vector to override the right hand controller's look direction, or null to disable the override and use natural controller orientation. Example:
// Point right hand controller towards a specific target
val targetDirection = Vector3(-1.0f, 0.0f, 0.0f) // Point left
inputSystem.setRightHandDirectionOverride(targetDirection)
// Restore natural controller orientation
inputSystem.setRightHandDirectionOverride(null)

Companion Object

Properties

DEFAULT_CURSOR_ACTUATED_RATIO : Float
[Get]
Signature
val DEFAULT_CURSOR_ACTUATED_RATIO: Float
DEFAULT_CURSOR_DEPTH_SCALE : Float
[Get]
Signature
val DEFAULT_CURSOR_DEPTH_SCALE: Float = 0.0112f
DEFAULT_CURSOR_SCALE : Float
[Get]
Signature
val DEFAULT_CURSOR_SCALE: Float = 3.2E-4f
DEFAULT_CURSOR_SCALE_MULTIPLIER : Float
[Get]
Signature
val DEFAULT_CURSOR_SCALE_MULTIPLIER: Float = 0.75f