Our OpenXR interface.
The OpenXR interface allows Godot to interact with OpenXR runtimes and make it possible to create XR experiences and games.
Due to the needs of OpenXR this interface works slightly different than other plugin based XR interfaces. It needs to be initialized when Godot starts. You need to enable OpenXR, settings for this can be found in your games project settings under the XR heading. You do need to mark a viewport for use with XR in order for Godot to know which render result should be output to the headset.
$DOCS_URL/tutorials/xr/setting_up_xr.html
Returns a list of action sets registered with Godot (loaded from the action map at runtime).
Returns display refresh rates supported by the current HMD. Only returned if this feature is supported by the OpenXR runtime and after the interface has been initialized.
If handtracking is enabled, returns the angular velocity of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is relative to [XROrigin3D]!
If handtracking is enabled, returns the linear velocity of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is relative to [XROrigin3D] without worldscale applied!
If handtracking is enabled, returns the position of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is relative to [XROrigin3D] without worldscale applied!
If handtracking is enabled, returns the radius of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR. This is without worldscale applied!
If handtracking is enabled, returns the rotation of a joint ([param joint]) of a hand ([param hand]) as provided by OpenXR.
If handtracking is enabled and motion range is supported, gets the currently configured motion range for [param hand].
Returns [code]true[/code] if the given action set is active.
Returns [code]true[/code] if OpenXRs foveation extension is supported, the interface must be initialised before this returns a valid value.
[b]Note:[/b] This feature is only available on the compatibility renderer and currently only available on some stand alone headsets. For Vulkan set [member Viewport.vrs_mode] to [code]VRS_XR[/code] on desktop.
Sets the given action set as active or inactive.
If handtracking is enabled and motion range is supported, sets the currently configured motion range for [param hand] to [param motion_range].
The display refresh rate for the current HMD. Only functional if this feature is supported by the OpenXR runtime and after the interface has been initialized.
Enable dynamic foveation adjustment, the interface must be initialised before this is accessible. If enabled foveation will automatically adjusted between low and [member foveation_level].
Set foveation level from 0 (off) to 3 (high), the interface must be initialised before this is accessible.
The render size multiplier for the current HMD. Must be set before the interface has been initialized.
Informs the user queued a recenter of the player position.
Informs our OpenXR session has been started.
Informs our OpenXR session now has focus.
Informs our OpenXR session is stopping.
Informs our OpenXR session is now visible (output is being sent to the HMD).
Left hand.
Right hand.
Maximum value for the hand enum.
Palm joint.
Wrist joint.
Thumb metacarpal joint.
Thumb proximal joint.
Thumb distal joint.
Thumb tip joint.
Index metacarpal joint.
Index proximal joint.
Index intermediate joint.
Index distal joint.
Index tip joint.
Middle metacarpal joint.
Middle proximal joint.
Middle intermediate joint.
Middle distal joint.
Middle tip joint.
Ring metacarpal joint.
Ring proximal joint.
Ring intermediate joint.
Ring distal joint.
Ring tip joint.
Little metacarpal joint.
Little proximal joint.
Little intermediate joint.
Little distal joint.
Little tip joint.
Maximum value for the hand joint enum.