Skip to Content

Localization and alignment

The SDK attaches to Unreal’s AppleARKit/GoogleARCore session. Owned image bytes, camera pose, intrinsics, timestamps, gravity and orientation come from the same admitted native frame. Conversion/JPEG work is bounded and runs off the game thread. Capability, camera-permission and tracking snapshots explain why capture is waiting.

Active localization follows target/hover/blur guidance and accepts only successful finite rigid poses with valid section identity and sufficient inliers. Alignment is applied to the unique matching map root before success delegates. Missing/duplicate roots are diagnosed. The SDK preserves authored child transforms and does not move the host camera or global tracking origin.

Continuous recall uses elapsed time or travel, collects level frames, selects the sharpest candidate and allows one unary request at a time. Weak/failed recall retains the last valid alignment. Accepted recall rebases only beyond drift thresholds. Read counters through GetRuntimeMetrics.

Canonical poses/graph positions use metres. Unreal positions use the world’s WorldToMeters setting and (-z,x,y) basis. Root transforms compose with tracking-to-world and the authored parent boundary. A changed origin/world scale revokes old results and requires explicit recovery.

Retry starts an explicit fresh attempt. Tracking loss/background suspends and clears active alignment; recover the host provider and call Start explicitly. Do not silently loop on authentication, permission or provider errors. Device orientation, accuracy, recall drift, thermal and long-walk budgets remain deferred.