How to build geospatial AR
without Niantic.

Pin content to latitude, longitude, and altitude through ReactVision Platform Geospatial Anchors, called from ViroReact. No Lightship SDK. The same app can also use local Cloud Anchors and ship to Meta Quest, all from one TypeScript codebase on an MIT-licensed renderer.


Five steps to content anchored in the world

The full path from nothing to AR content pinned to real coordinates. For the complete code walkthrough, follow the geospatial AR tutorial, which builds a working app with Claude Code and ViroReact.

01

Create a free Studio account

Geospatial Anchors run on ReactVision Platform. Sign up for ReactVision Studio on the free tier to get your rvApiKey and rvProjectId. No card required.

02

Install ViroReact

Run npm install @reactvision/react-viro in a React Native or Expo project. ViroReact needs a development build rather than Expo Go, and AR needs a physical iOS or Android device.

03

Add your Platform credentials

Put the rvApiKey and rvProjectId in your app config. From ViroReact 2.53.0, Geospatial Anchors and Cloud Anchors connect to ReactVision Platform by default, with no separate SDK to integrate.

04

Anchor content to coordinates

Create a geospatial anchor with latitude, longitude, and altitude, and attach your scene content to it. ViroReact resolves the anchor and renders the content at that real-world position.

05

Test at the location

Geospatial accuracy depends on GPS and on visual positioning coverage, so test on-site on a real device. Content placement is strongest outdoors with clear sky and mapped streets.

$npm install @reactvision/react-viro

Cloud Anchors or Geospatial Anchors?

Two anchor types, two jobs. Most location-based apps end up using both, and both run on the same Platform credentials.

Geospatial Anchors: reach a place

Pin content to latitude, longitude, and altitude, no pre-scanning required. Right for city trails, landmarks, campus wayfinding, and anything discovered by walking up to it.

Cloud Anchors: precision in a space

Persist and share content in a scanned space, accurate to the shelf or tabletop. Right for stores, showrooms, galleries, and multi-user AR in one room.

The full decision guide: Cloud Anchors vs Geospatial Anchors, which one does your AR app need?

Honest caveats: geospatial accuracy depends on GPS and visual positioning coverage, and Niantic's VPS mapping may still be deeper in some cities. Test at your actual locations before committing a launch, and design with Cloud Anchors where you need room-level precision. Full API details are in the Geospatial Anchors docs and Cloud Anchors docs.

What each part of ReactVision does

ViroReact is MIT licensed and free forever. Studio and Platform are managed products: Cloud Anchors, Geospatial Anchors, asset hosting, Environment Testing, and the MCP server. iOS (ARKit), Android (ARCore), and Meta Quest (OpenXR) are supported today. visionOS is in internal preview. Android XR is coming.

Proof it ships

~10,000

npm installs of ViroReact per month

140,000+

npm installs in 2025

3 platforms

iOS, Android, and Meta Quest supported today

Shipped on ViroReact: Looking Glass (geospatial AR heritage storytelling), Pikd (brand AR for Red Bull and Burger King), InkStory (AR image recognition, built solo). The ViroReact MCP server is listed in the Claude Connectors Directory.

Common questions

How do I build geospatial AR without Niantic?
Pin content to latitude, longitude, and altitude through ReactVision Platform Geospatial Anchors, called from the open-source ViroReact renderer in TypeScript. You authenticate with an rvApiKey and rvProjectId from a free Studio account. No Lightship SDK, and the same app can also use Cloud Anchors and ship to Meta Quest.
What is the difference between Cloud Anchors and Geospatial Anchors?
Cloud Anchors persist content in a specific scanned space, like a room or storefront, and share it between devices in that space. Geospatial Anchors pin content to global coordinates (latitude, longitude, altitude) so it appears at a real-world location without pre-scanning. Many apps use both: geospatial to reach the place, cloud anchors for precision inside it.
Is geospatial AR free on ReactVision?
The free Studio tier includes Platform API requests that cover getting started with Geospatial Anchors and Cloud Anchors, plus 500 MB of asset hosting. Production apps with higher anchor and API volume move onto paid tiers. The ViroReact renderer itself is MIT licensed and free at any scale.
How accurate is it, and where does it work?
Placement combines GPS with visual positioning, so accuracy is strongest outdoors in mapped areas with clear sky, and degrades indoors or under heavy cover. Niantic's VPS mapping may still be deeper in some cities. Test at your target locations, and use Cloud Anchors where you need room-level precision.
Can I see a working example before building?
Yes. The tutorial Build a Geospatial AR App in React Native with Claude Code and ViroReact walks through a complete app, from credentials to content anchored on a real street, including having a coding agent write the scenes.

Related comparisons and guides

Anchor your first scene to the world

A free Studio account gives you the rvApiKey and rvProjectId that unlock Geospatial Anchors and Cloud Anchors in ViroReact.