Class: XRInputManager
Defined in: packages/xr-input/src/xr-input-manager.ts:87
Constructors
Constructor
new XRInputManager(
options):XRInputManager
Defined in: packages/xr-input/src/xr-input-manager.ts:222
Parameters
options
Returns
XRInputManager
Properties
gamepads
readonlygamepads:Record<"left"|"right",StatefulGamepad>
Defined in: packages/xr-input/src/xr-input-manager.ts:143
gazeCandidates
gazeCandidates: readonly
Object3D<Object3DEventMap>[] =[]
Defined in: packages/xr-input/src/xr-input-manager.ts:133
Gaze-eligible Object3D roots, republished by the host every frame before XRInputManager.update. Gaze deliberately uses an explicit candidate list rather than raycasting the scene: the cone cast is O(candidates), and gaze should only consider objects that opted in.
gazePointer
readonlygazePointer:GazePointer
Defined in: packages/xr-input/src/xr-input-manager.ts:100
Single global gaze pointer — gaze has no handedness, so it sits beside XRInputManager.multiPointers rather than inside them.
Constructed unconditionally so systems (GrabSystem, GazeSystem) can hold a stable reference, but idle until XRInputManager.gazeEnabled is set. Nothing here costs a frame while gaze is off.
multiPointers
readonlymultiPointers:Record<"left"|"right",MultiPointer>
Defined in: packages/xr-input/src/xr-input-manager.ts:90
visualAdapters
readonlyvisualAdapters:object
Defined in: packages/xr-input/src/xr-input-manager.ts:148
controller
controller:
object
controller.left
controller.right
right:
XRControllerVisualAdapter
hand
hand:
object
hand.left
left:
XRHandVisualAdapter
hand.right
right:
XRHandVisualAdapter
left
left:
Signal<XRInputVisualAdapter>
right
right:
Signal<XRInputVisualAdapter>
xrOrigin
readonlyxrOrigin:XROrigin
Defined in: packages/xr-input/src/xr-input-manager.ts:88
Accessors
gazeEnabled
Get Signature
get gazeEnabled():
boolean
Defined in: packages/xr-input/src/xr-input-manager.ts:108
Master switch for the gaze pipeline, flipped on by GazeSystem when the project opts into the gaze XR feature. While false, the gaze pose is never sampled, no cone cast runs, no pointer events are dispatched, and the pointer's reticle and ray space stay out of the rig entirely.
Returns
boolean
Set Signature
set gazeEnabled(
enabled):void
Defined in: packages/xr-input/src/xr-input-manager.ts:112
Parameters
enabled
boolean
Returns
void
Methods
getPrimaryInputSource()
getPrimaryInputSource(
handedness):XRInputSource
Defined in: packages/xr-input/src/xr-input-manager.ts:409
Get the primary input source for a given handedness. Returns the XRInputSource that is currently active for left or right hand.
Parameters
handedness
"left" | "right"
Returns
XRInputSource
getSelectState()
getSelectState(
handedness):Readonly<HandSelectState>
Defined in: packages/xr-input/src/xr-input-manager.ts:421
Get this frame's select state for the primary input source of a given handedness, as the hand and gaze pointers see it. Unlike gamepads[handedness], this also covers hand sources that expose no Gamepad, whose pinch edges come from the session's select events.
Parameters
handedness
"left" | "right"
Returns
Readonly<HandSelectState>
isPrimary()
isPrimary(
deviceType,handedness):boolean
Defined in: packages/xr-input/src/xr-input-manager.ts:401
Parameters
deviceType
"controller" | "hand"
handedness
"left" | "right"
Returns
boolean
update()
update(
xrManager,delta,time):void
Defined in: packages/xr-input/src/xr-input-manager.ts:279
Parameters
xrManager
WebXRManager
delta
number
time
number
Returns
void