Table of Contents

Class OpenXRInteractionProfileMetadata

Namespace
Godot
Assembly
GodotSharp.dll

This class allows OpenXR core and extensions to register metadata relating to supported interaction devices such as controllers, trackers, haptic devices, etc. It is primarily used by the action map editor and to sanitize any action map by removing extension-dependent entries when applicable.

public class OpenXRInteractionProfileMetadata : GodotObject, IDisposable
Inheritance
OpenXRInteractionProfileMetadata
Implements
Inherited Members

Constructors

OpenXRInteractionProfileMetadata()

public OpenXRInteractionProfileMetadata()

Methods

HasGodotClassMethod(in godot_string_name)

Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.

protected override bool HasGodotClassMethod(in godot_string_name method)

Parameters

method godot_string_name

Name of the method to check for.

Returns

bool

HasGodotClassSignal(in godot_string_name)

Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.

protected override bool HasGodotClassSignal(in godot_string_name signal)

Parameters

signal godot_string_name

Name of the signal to check for.

Returns

bool

InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)

Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.

protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)

Parameters

method godot_string_name

Name of the method to invoke.

args NativeVariantPtrArgs

Arguments to use with the invoked method.

ret godot_variant

Value returned by the invoked method.

Returns

bool

RegisterIOPath(string, string, string, string, string, ActionTypeEnum)

Registers an input/output path for the given interactionProfile. The profile should previously have been registered using RegisterInteractionProfile(string, string, string). displayName is the description shown to the user. toplevelPath specifies the bind path this input/output can be bound to (e.g. /user/hand/left or /user/hand/right). openxrPath is the action input/output being registered (e.g. /user/hand/left/input/aim/pose). openxrExtensionName restricts this input/output to an enabled/available extension, this doesn't need to repeat the extension on the profile but relates to overlapping extension (e.g. XR_EXT_palm_pose that introduces …/input/palm_ext/pose input paths). actionType defines the type of input or output provided by OpenXR.

public void RegisterIOPath(string interactionProfile, string displayName, string toplevelPath, string openxrPath, string openxrExtensionName, OpenXRAction.ActionTypeEnum actionType)

Parameters

interactionProfile string
displayName string
toplevelPath string
openxrPath string
openxrExtensionName string
actionType OpenXRAction.ActionTypeEnum

RegisterInteractionProfile(string, string, string)

Registers an interaction profile using its OpenXR designation (e.g. /interaction_profiles/khr/simple_controller is the profile for OpenXR's simple controller profile).

displayName is the description shown to the user. openxrPath is the interaction profile path being registered. openxrExtensionName optionally restricts this profile to the given extension being enabled/available. If the extension is not available, the profile and all related entries used in an action map are filtered out.

public void RegisterInteractionProfile(string displayName, string openxrPath, string openxrExtensionName)

Parameters

displayName string
openxrPath string
openxrExtensionName string

RegisterProfileRename(string, string)

Allows for renaming old interaction profile paths to new paths to maintain backwards compatibility with older action maps.

public void RegisterProfileRename(string oldName, string newName)

Parameters

oldName string
newName string

RegisterTopLevelPath(string, string, string)

Registers a top level path to which profiles can be bound. For instance /user/hand/left refers to the bind point for the player's left hand. Extensions can register additional top level paths, for instance a haptic vest extension might register /user/body/vest.

displayName is the name shown to the user. openxrPath is the top level path being registered. openxrExtensionName is optional and ensures the top level path is only used if the specified extension is available/enabled.

When a top level path ends up being bound by OpenXR, a XRPositionalTracker is instantiated to manage the state of the device.

public void RegisterTopLevelPath(string displayName, string openxrPath, string openxrExtensionName)

Parameters

displayName string
openxrPath string
openxrExtensionName string