OpenXRSpatialCapabilityConfigurationBaseHeader
Base native spatial-capability configuration.
Configuration for CreateSpatialContext, not a detected Entity, tracker or OS permission. Requires the capability in a running OpenXR session. Constructor success and a selected dictionary do not mean the device detects that type. HasValidConfiguration checks current usability; context creation is separately asynchronous.
GetConfiguration returns a borrowed native pointer: neither substitute it for a RID nor retain it beyond resource lifetime. GetEnabledComponents reads selected components and can be empty before configuration building. Reading retrieves no room/marker data.
The base without overrides returns false/zero. Use concrete existing classes for ordinary integration; custom native layout/lifetime was not tested.
Spatial-entity setup. Twelve Windows XR-off checks covered inactive configurations/dictionary metadata. Real headers/context/discovery, session changes and headsets remain untested. Engine unchanged.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Constructors1
OpenXRSpatialCapabilityConfigurationBaseHeaderConstructor
public OpenXRSpatialCapabilityConfigurationBaseHeader();Creates a caller-owned RefCounted configuration, not a capability singleton/context. Starts no OpenXR, detector or requests. The component list is empty before supported GetConfiguration; keep the resource alive during native use. Dispose owned instances after use/releasing references, not engine-owned configurations.
Methods4
GetConfigurationulong
public ulong GetConfiguration();Returns a native configuration-header address as ulong, or zero when unsupported/unimplemented. A borrowed pointer, not a RID: keep the configuration and internal buffers alive during native use; never free the address independently. Concrete implementations can build/mutate component lists. Creates no context; CreateSpatialContext calls it separately.
ulongReturns a native configuration-header address as ulong, or zero when unsupported/unimplemented. A borrowed pointer, not a RID: keep the configuration and internal buffers alive during native use; never free the address independently. Concrete implementations can build/mutate component lists. Creates no context; CreateSpatialContext calls it separately.
HasValidConfigurationbool
public bool HasValidConfiguration();Checks whether the concrete configuration is usable through the current capability; the base without an override returns false. Starts no detector, reports no context-creation result and promises no data. Query after the relevant session starts on a current configuration instance.
boolChecks whether the concrete configuration is usable through the current capability; the base without an override returns false. Starts no detector, reports no context-creation result and promises no data. Query after the relevant session starts on a current configuration instance.
_GetConfigurationulong
public virtual ulong _GetConfiguration();Backend virtual native-configuration getter. Its ulong must reference a correct live OpenXR structure and component buffers; zero means no implementation. Never return fabricated addresses/RIDs or temporary managed memory. Prefer existing concrete configuration classes.
ulongBackend virtual native-configuration getter. Its ulong must reference a correct live OpenXR structure and component buffers; zero means no implementation. Never return fabricated addresses/RIDs or temporary managed memory. Prefer existing concrete configuration classes.
_HasValidConfigurationbool
public virtual bool _HasValidConfiguration();Backend virtual validation point for custom configuration. Return true only with the required runtime capability and correct header data. Defaults false; a C# type existing establishes no support. No custom active implementation was executed.
boolBackend virtual validation point for custom configuration. Return true only with the required runtime capability and correct header data. Defaults false; a C# type existing establishes no support. No custom active implementation was executed.