Base class for XR interface extensions (plugins).
External XR interface plugins should inherit from this class.
Called if interface is active and queues have been submitted.
Return [code]true[/code] if anchor detection is enabled for this interface.
Returns the camera feed id for the [CameraFeed] registered with the [CameraServer] that should be presented as the background on an AR capable device (if applicable).
Returns the [Transform3D] that positions the [XRCamera3D] in the world.
Returns the capabilities of this interface.
Returns the name of this interface.
Returns an [PackedVector3Array] that denotes the play areas boundaries (if applicable).
Returns the [enum XRInterface.PlayAreaMode] that sets up our play area.
Returns the projection matrix for the given view as a [PackedFloat64Array].
Returns the size of our render target for this interface, this overrides the size of the [Viewport] marked as the xr viewport.
Returns a [PackedStringArray] with pose names configured by this interface. Note that user configuration can override this list.
Returns a [PackedStringArray] with tracker names configured by this interface. Note that user configuration can override this list.
Returns a [enum XRInterface.TrackingStatus] specifying the current status of our tracking.
Returns a [Transform3D] for a given view.
Returns the number of views this interface requires, 1 for mono, 2 for stereoscopic.
Initializes the interface, returns [code]true[/code] on success.
Returns [code]true[/code] if this interface has been initialised.
Informs the interface of an applicable system notification.
Called after the XR [Viewport] draw logic has completed.
Called if this is our primary [XRInterfaceExtension] before we start processing a [Viewport] for every active XR [Viewport], returns [code]true[/code] if that viewport should be rendered. An XR interface may return [code]false[/code] if the user has taken off their headset and we can pause rendering.
Called if this [XRInterfaceExtension] is active before rendering starts, most XR interfaces will sync tracking at this point in time.
Called if this [XRInterfaceExtension] is active before our physics and game process is called. most XR interfaces will update its [XRPositionalTracker]s at this point in time.
Enables anchor detection on this interface if supported.
Set the play area mode for this interface.
Returns [code]true[/code] if this interface supports this play area mode.
Triggers a haptic pulse to be emitted on the specified tracker.
Uninitialize the interface.
Blits our render results to screen optionally applying lens distortion. This can only be called while processing [code]_commit_views[/code].
Returns a valid [RID] for a texture to which we should render the current frame if supported by the interface.