OpenXRSpatialContextPersistenceConfig
Persistence-context links for spatial configuration.
Additional OpenXRStructureBase linking persistence contexts into spatial-context configuration. Stores RIDs rather than persisted anchors. Add/remove only change the list and own no context lifetime. GetPersistenceContexts returns a separate Array.
GetHeader includes this structure only with persistence support and a nonempty list; otherwise it passes the next pointer through. Each RID must be a ready correctly owned context. Nonzero GetStructureType, a constant here, proves neither nonnull header nor support/context creation. The list even accepts an empty RID without validation.
Spatial entities. Ten bounded Windows XR-off checks covered metadata, null mesh and list behavior. Real snapshots/parents/bounds/poses, persistence headers, headsets and export remain untested. Engine Source, Runtime and SDK unchanged.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Constructors1
OpenXRSpatialContextPersistenceConfigConstructor
public OpenXRSpatialContextPersistenceConfig();Creates a caller-owned RefCounted container without starting OpenXR, querying or persistence operations. Storage starts empty; constructor success establishes no runtime support. Keep owned resources alive during native use and release after detaching owned references; do not Dispose engine-owned wrappers.
Methods3
AddPersistenceContextvoid
public void AddPersistenceContext(Rid persistenceContext);Adds a persistence-context RID to the configuration list; duplicates are rejected with an error. Creates no context, transfers no ownership and validates no live handle: QA even stored an empty RID. Supply only an owned/permitted ready context from a supported capability. List changes reconfigure no existing spatial context.
| Name | Type | Default |
|---|---|---|
persistenceContext | Rid | — |
persistenceContextReady persistence-context RID; list methods establish neither support/liveness nor ownership transfer.
GetPersistenceContextsReckfell.Collections.Array
public Reckfell.Collections.Array GetPersistenceContexts();New Array containing copied context-list RIDs, initially empty. Editing it does not change configuration; use Add/RemovePersistenceContext. Transfers no ownership of contexts. Dispose the caller-owned C# Array wrapper after reading without freeing its RIDs.
Reckfell.Collections.ArrayNew Array containing copied context-list RIDs, initially empty. Editing it does not change configuration; use Add/RemovePersistenceContext. Transfers no ownership of contexts. Dispose the caller-owned C# Array wrapper after reading without freeing its RIDs.
RemovePersistenceContextvoid
public void RemovePersistenceContext(Rid persistenceContext);Removes a present RID from the list only; an absent RID is rejected with an error. Destroys no native persistence context and deletes no persisted anchors. Before freeing an owned context, stop dependent operations and detach references separately; do not free engine-owned default contexts.
| Name | Type | Default |
|---|---|---|
persistenceContext | Rid | — |
persistenceContextReady persistence-context RID; list methods establish neither support/liveness nor ownership transfer.