C Specification

The XrSystemSpatialAnchorPropertiesBD structure is defined as:

// Provided by XR_BD_spatial_anchor
typedef struct XrSystemSpatialAnchorPropertiesBD {
    XrStructureType    type;
    void*              next;
    XrBool32           supportsSpatialAnchor;
} XrSystemSpatialAnchorPropertiesBD;

Members

Member Descriptions
  • type is the XrStructureType of this structure.

  • next is NULL or a pointer to the next structure in a structure chain.

  • supportsSpatialAnchor is an XrBool32, indicating if the current system is capable of creating and storing arbitrary spatial anchors.

Description

An application can inspect whether the system is capable of application created spatial anchor by chaining an XrSystemSpatialAnchorPropertiesBD structure to the XrSystemProperties::next chain when calling xrGetSystemProperties.

If a runtime returns XR_FALSE for supportsSpatialAnchor, the system does not support creating arbitrary spatial anchors, and must return XR_ERROR_FEATURE_UNSUPPORTED from xrCreateSpatialAnchorAsyncBD, as well as from xrCreateSenseDataProviderBD when passing the XrSenseDataProviderTypeBD value XR_SENSE_DATA_PROVIDER_TYPE_ANCHOR_BD.

The application should avoid using spatial anchor functionality when supportsSpatialAnchor is XR_FALSE.

If XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing is XR_FALSE, then supportsSpatialAnchor must also be XR_FALSE.

If a runtime returns XR_TRUE for supportsSpatialAnchor, the system supports creating and storing arbitrary spatial anchors. This implies that XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing must also be XR_TRUE.

Note that supportsSpatialAnchor may be XR_TRUE even if running on an Android-based platform and the application does not have the required com.picovr.permission.SPATIAL_DATA permission both declared in the manifest and granted at runtime. Evaluation of permissions takes place later, in the asynchronous operation started by xrStartSenseDataProviderAsyncBD.

Valid Usage (Implicit)

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 2014-2025 The Khronos Group Inc.