OpenXR Spatial Markers seem broken on Meta Horizon Link Version 206.0.0.109.432
I just updated my Meta Horizon Link to Version 206.0.0.109.432.
I am using native development over OpenXR, Quest3 (also updated to latest) over cable.
Seem that using the same code, spatial markers are no longer "working" -
could be no markers reported, could be some are reported on first scan and then nothing.
Here is a partial/filtered log showing some diagnostics I added for the integration plumbing and so on.
Any insights would be appreciated.
07:47:03: [SpatialMarker] Extension check: XR_EXT_spatial_entity = YES, XR_EXT_future = YES, XR_EXT_spatial_marker_tracking = YES
07:47:03: [SpatialMarker] All extensions found - spatial marker tracking AVAILABLE
07:47:03: OpenXR Instance - ! Runtime Name: Oculus ! Runtime Version: 1.206.0
07:47:03: [SpatialMarker] InitInstance - xrInstance=1
07:47:03: [SpatialMarker] Loading extension function pointers via xrGetInstanceProcAddr...
07:47:03: [SpatialMarker] InitInstance completed OK
07:47:03: OpenXR UpdateSessionStateChange: 1
07:47:03: OpenXR UpdateSessionStateChange: 2
07:47:03: OpenXR UpdateSessionStateChange: 3
07:47:03: [SpatialMarker] Raw recording to C:\Temp\SpatialMarkerRaw_20260815_074703.csv
07:47:04: OpenXR UpdateSessionStateChange: 4
07:47:04: OpenXR UpdateSessionStateChange: 5
07:47:15: [SpatialMarker] CalibrationPoint SET: "VPT1_A" pos=(0.417785,0.676193,-0.042772)
07:47:15: [SpatialMarker] CalibrationPoint SET: "VPT1_B" pos=(0.071969,0.867789,0.219700)
07:47:15: [SpatialMarker] CalibrationPoint SET: "VPT1_C" pos=(-0.292110,0.723759,-0.034452)
07:47:15: [SpatialMarker] Calibration ENABLED
07:47:15: [SpatialMarker] InitSession - xrSession=2 systemId=23
07:47:15: [SpatialMarker] Enumerating capabilities on xrInstance=1 systemId=23
07:47:15: [SpatialMarker] Runtime reports 1 supported spatial capabilities
07:47:15: [SpatialMarker] Capability[0]: MARKER_TRACKING_QR_CODE (value=1000743000)
07:47:15: [SpatialMarker] Component[0]: MARKER (value=1000743000)
07:47:15: [SpatialMarker] Component[1]: BOUNDED_2D (value=1)
07:47:15: [SpatialMarker] StartContextCreation - configuring QR Code (only capability supported by Quest 3)
07:47:15: [SpatialMarker] xrCreateSpatialContextAsyncEXT OK - future=1, polling...
07:47:15: [SpatialMarker] InitSession completed OK - context creation started, state=CreatingContext
07:47:15: [SpatialMarker] Heartbeat: state=CreatingContext snapshots=0 withEntities=0 pendingFutureAgeMs=0 knownMarkers=0
07:47:15: [SpatialMarker] HeadContinuity: head untracked for 3.562000s - stage-frame state dropped
07:47:15: [SpatialMarker] Context future is READY - completing...
07:47:15: [SpatialMarker] Spatial context ready - marker detection running
07:47:15: [SpatialMarker] No markers detected - scanning...
07:47:20: [SpatialMarker] Heartbeat: state=CreatingSnapshot snapshots=16 withEntities=0 pendingFutureAgeMs=4016 knownMarkers=0
07:47:21: [SpatialMarker] Snapshot future pending for 5s - the runtime is not completing snapshots (16 completed so far, 0 with entities)
07:47:25: [SpatialMarker] Heartbeat: state=CreatingSnapshot snapshots=16 withEntities=0 pendingFutureAgeMs=9016 knownMarkers=0
07:47:30: [SpatialMarker] Heartbeat: state=CreatingSnapshot snapshots=16 withEntities=0 pendingFutureAgeMs=14016 knownMarkers=0
07:47:34: [SpatialMarker] Cancelling pending future
07:47:34: [SpatialMarker] Destroying spatial context handle
07:47:34: OpenXR UpdateSessionStateChange: 4
07:47:34: OpenXR UpdateSessionStateChange: 3
07:47:34: OpenXR UpdateSessionStateChange: 6
07:47:34: OpenXR UpdateSessionStateChange: 1
07:47:34: OpenXR UpdateSessionStateChange: 8
07:48:16: OpenXR session destroyed via session lifecycle
07:48:16: [SpatialMarker] Destructor - cleaning up
