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_nameName of the method to check for.
Returns
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_nameName of the signal to check for.
Returns
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_nameName of the method to invoke.
args
NativeVariantPtrArgsArguments to use with the invoked method.
ret
godot_variantValue returned by the invoked method.
Returns
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
stringdisplayName
stringtoplevelPath
stringopenxrPath
stringopenxrExtensionName
stringactionType
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
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
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)