C Specification
An application can inspect whether the system is capable of hand tracking meshes by chaining an XrSystemHandTrackingMeshPropertiesMSFT structure to the XrSystemProperties when calling xrGetSystemProperties.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrSystemHandTrackingMeshPropertiesMSFT {
    XrStructureType    type;
    void*              next;
    XrBool32           supportsHandTrackingMesh;
    uint32_t           maxHandMeshIndexCount;
    uint32_t           maxHandMeshVertexCount;
} XrSystemHandTrackingMeshPropertiesMSFT;Members
Description
If a runtime returns XR_FALSE for supportsHandTrackingMesh, the
system does not support hand tracking mesh input, and therefore must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateHandMeshSpaceMSFT and
xrUpdateHandMeshMSFT.
The application should avoid using hand mesh functionality when
supportsHandTrackingMesh is XR_FALSE.
If a runtime returns XR_TRUE for supportsHandTrackingMesh, the
system supports hand tracking mesh input.
In this case, the runtime must return a positive number for
maxHandMeshIndexCount and maxHandMeshVertexCount.
An application should use maxHandMeshIndexCount and
maxHandMeshVertexCount to preallocate hand mesh buffers and reuse them
in their render loop when calling xrUpdateHandMeshMSFT every frame.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.