Niantic just dropped a capability that changes how developers think about augmented reality persistence. Lightship VPS (Visual Positioning System) now delivers centimeter-level accuracy for AR anchors that survive app restarts, device swaps, and months of environmental change. This isn't incremental improvement—it's the infrastructure shift that makes persistent AR commercially viable.
Why Centimeter Accuracy Matters
GPS gives you 5-10 meter precision outdoors. ARCore Geospatial and ARKit Location Anchors improve that to roughly 1-3 meters under ideal conditions. Lightship VPS narrows the gap to 1-5 centimeters by matching live camera frames against a 3D map built from millions of player-contributed scans. The result: a virtual object placed on a park bench stays on that bench—not floating beside it—when the user returns next week.
"VPS transforms AR from a session toy into a persistent layer on the real world.
— Niantic Engineering Blog
Architecture Overview
The system operates in three phases. First, developers upload reference scans via the Lightship Maps portal or the Wayfarer app. Niantic's pipeline reconstructs a sparse 3D point cloud and computes visual descriptors for each keyframe. Second, at runtime, the SDK extracts descriptors from the device camera and matches them against the cloud map using a hierarchical vocabulary tree—returning a 6-DoF pose in under 200ms on modern phones. Third, the pose initializes an ARFoundation trackable that behaves like any local anchor but persists across sessions via a unique VPS identifier.
Coverage and Limitations
| Metric | Lightship VPS | ARCore Geospatial | ARKit Location Anchors |
|---|---|---|---|
| Horizontal Accuracy | 1-5 cm | 1-3 m | 1-5 m |
| Vertical Accuracy | 2-8 cm | 2-5 m | 2-5 m |
| Persistence | Months/Years | Session + Cloud Anchors | Session + Cloud Anchors |
| Coverage | 100k+ locations | Global (GPS + VPS) | Global (GPS + VPS) |
| Offline Support | Partial (cached maps) | No | No |
Integration with Unity AR Foundation
Lightship ships as an AR Foundation subsystem. Add the "Niantic Lightship AR" package via UPM, enable the VPS provider in Project Settings → XR Plug-in Management, and the standard ARAnchorManager API works unchanged. The only new calls are localization target creation and the async LocalizeAsync() method. Existing ARFoundation workflows—plane detection, image tracking, occlusion—remain intact and can be layered on top of VPS anchors for hybrid experiences.
WebXR Path Forward
Niantic's WebXR SDK (currently in private beta) exposes the same VPS localization flow through JavaScript. The API mirrors the Unity surface: create a VPSLocalizationTarget, call localize(), receive an XRAnchor. This opens persistent AR to browsers on Android Chrome and iOS Safari (via WebXR polyfill) without app store friction. Expect public beta in H2 2024 with support for Three.js, Babylon.js, and A-Frame.
Actionable Next Steps
- Register for a Lightship developer account and claim your API key.
- Check the VPS Coverage Map for your target locations.
- Submit scans via Wayfarer if coverage is missing—approval takes 2-5 business days.
- Prototype with the Unity sample scene (Assets/Lightship/Samples/VPS).
- Implement fallback to ARCore Geospatial for uncovered areas.
- Load-test anchor persistence across iOS/Android device pairs.
✦
Centimeter-level persistent anchors are the missing primitive for AR that behaves like the web: stateful, shareable, and durable. Lightship VPS delivers that primitive today—if your use case fits the coverage map. Start scanning.
