OpenXRInteractionProfileMetadata
Meta class registering supported devices in OpenXR.
OpenXRInteractionProfileMetadata.swift:17class OpenXRInteractionProfileMetadata
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.
Superclasses
class Object
Base class for all other classes in the engine.
Citizens in SwiftGodot
Conformances
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Equatable
A type that can be compared for value equality.
protocol Hashable
A type that can be hashed into a
Hasher
to produce an integer hash value.protocol Identifiable<ID>
A class of types whose instances hold the value of an entity with stable identity.
protocol VariantRepresentable
Types that conform to VariantRepresentable can be stored directly in
Variant
with no conversion. These include all of the Variant types from Godot (for exampleGString
,Rect
,Plane
), Godot objects (those that subclass SwiftGodot.Object) as well as the built-in Swift types UInt8, Int64 and Double.protocol VariantStorable
Types that conform to VariantStorable can be stored in a Variant and can be extracted back out of a Variant.
Type members
Instance members
func registerInteractionProfile(displayName: String, openxrPath: String, openxrExtensionName: 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).func registerIoPath(interactionProfile: String, displayName: String, toplevelPath: String, openxrPath: String, openxrExtensionName: String, actionType: OpenXRAction.ActionType
) Registers an input/output path for the given
interactionProfile
. The profile should previously have been registered usingregisterInteractionProfile(displayName:openxrPath:openxrExtensionName:)
.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.func registerProfileRename(oldName: String, newName: String
) Allows for renaming old interaction profile paths to new paths to maintain backwards compatibility with older action maps.
func registerTopLevelPath(displayName: String, openxrPath: String, openxrExtensionName: 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
.