githubEdit

XR Event Methods

Reference for WebXR AR/VR events

Build immersive AR/VR experiences with WebXR event methods.


Component XR Events

Method
Parameters
When Called

supportsXR

mode: XRSessionMode

Optional: Filter which XR modes to support (immersive-vr, immersive-ar)

onBeforeXR

mode: XRSessionMode init: XRSessionInit

Before XR session starts (modify init options)

onEnterXR

args: NeedleXREventArgs

Component enters XR session

onUpdateXR

args: NeedleXREventArgs

Every frame during XR session

onLeaveXR

args: NeedleXREventArgs

Component exits XR session

onControllerAdded

args: NeedleXRControllerEventArgs

VR controller connected or component joins session with controllers

onControllerRemoved

args: NeedleXRControllerEventArgs

VR controller disconnected or component becomes inactive


XR Session Modes

type XRSessionMode =
    | "immersive-vr"  // VR headset
    | "immersive-ar"  // AR device
    | "inline";       // Non-immersive (not commonly used)

Example: Filter XR Support

Only enable component for VR (not AR):


Example: XR Session Lifecycle


Example: VR Controller Events


Global XR Events

For global XR session events (outside components):

Event
Type
Description

"needle-xrsession-start"

CustomEvent

XR session starts (details.session = NeedleXRSession)

"needle-xrsession-end"

CustomEvent

XR session ends (details.session = NeedleXRSession)

onXRSessionStart

Hook

Global hook for session start (unsubscribe with offXRSessionStart)


Example: Global XR Events


Modify XR Session Init Options


Last updated