Advanced VPS: AR that knows exactly where it is

Scan a place with any phone and get back a map your app localises against, a mesh of the space and every object in it. Content you place stays exactly where you put it, for every device, every session.

A full office scan from Advanced VPS on an Android tablet: a textured 3D mesh of an office kitchen and lounge with detected objects labelled (cabinets, plants, a television, chairs, a sofa and a desk), and a panel reading 10.76 by 8.03 metre floor, 2.96 metres tall, 45 objects detected

About 1 minute

to scan a room with any iPhone or Android phone. LiDAR is optional.

1.1 cm

median error localising on the server, in our same-day self-checks.

77% vs 16%

of frames localised on the server against on the device, in a car park nine days later.

What is Advanced VPS?

Advanced VPS is ReactVision's visual positioning system (VPS) for AR apps. Walk a place for about a minute with an iPhone or Android phone and it becomes a map that improves with every scan, plus a textured mesh, a Gaussian splat, camera poses and every object detected in the room. Apps built with ViroReact localise against the map continuously, on the device or on ReactVision's GPU servers, so content placed in the space stays exactly where you put it, for every device and every session.

How Advanced VPS works

From a one-minute walk to content that stays put, in four steps.

01

Scan the place

Walk it for about a minute with StudioGo or your own app. Live guidance says how much more to capture, and the recording uploads in the background.

02

Our GPU backend builds it

The scan becomes a localisation map, a mesh, a Gaussian splat and an object map, aligned to the place's existing map so nothing you placed moves.

03

Devices localise

Your app finds the place by GPS, by camera image or by id, then localises continuously on the device or on the server while ARKit or ARCore track the phone.

04

Content stays put

Place scenes in the Editor or wrap content in ViroVPSAnchor. It appears in the same spot for everyone, with the scanned mesh for occlusion and physics.

Scan once. Get the whole room back.

Every scan returns five things, all in the same coordinates as the content you place. Use them in your app, or download them for your own tools.

Localisation map

What devices match against to know exactly where they are. It gets better with every scan of the place.

Mesh

The room's geometry, so virtual content hides behind real walls and lands on real floors.

GLB model

A textured mesh of the space you can drop into any 3D tool, viewer or pipeline.

Gaussian splat

A photoreal capture of the place for viewing, as a PLY file.

Object map

Furniture, appliances, doors and fixtures, each with a label, a position and a bounding box in map coordinates.

A kitchen processed by Advanced VPS: a 3D mesh with cabinets, a microwave, an exhaust hood and a plant labelled in place
A kitchen scanned on a phone: mesh, map points and detected objects in one frame.
Advanced VPS kitchen scan
A high-quality textured mesh from one Advanced VPS scan of a kitchen, rendered live in your browser by ViroReact. Drag to rotate, scroll or pinch to zoom, and use Measure to tap two points and see the real distance between them.

Two ways to localise, behind one prop

Match on the phone for speed and offline use, or on our GPU servers for places that change. Both use the same map, so content lands in the same spot either way.

Localisation modeOn the deviceOn the server
How it worksThe phone downloads a compact map (about 1 MB) and matches every frame itselfThe phone sends a frame a second; our GPU servers match it and send back a pose
Same day, same light1.7 cm median error1.1 cm median error
Days later, other light16% of frames localised in a car park nine days later, 0% at night77% of frames localised in the same car park, 22% at night
ConnectionOnly to download the mapNeeded for every fix
Cost per deviceNone after the downloadBilled as compute time
Switchinglocalization="device" (the default)localization="server"

Figures from our tests on recordings of the same places on different days, including a car park recorded nine days apart at noon and at night.

A few lines of ViroReact

Advanced VPS ships in ViroReact 3.1.0. ViroVPS finds and tracks the place; ViroVPSAnchor holds your content in its coordinates. Scanning from your own app is one call to uploadScanRecording.

Building with a coding agent? The ReactVision MCP server gives it the current VPS APIs. Prefer no code? Place scenes in a scanned place in the Editor and open them in StudioGo.

SignScene.tsx
import { ViroARScene, ViroVPS, ViroVPSAnchor, Viro3DObject }
  from '@reactvision/react-viro';

export function SignScene({ arSceneNavigator }) {
  return (
    <ViroARScene>
      {/* Find the nearest scanned place, then keep tracking it */}
      <ViroVPS
        arSceneNavigator={arSceneNavigator}
        localization="server"   // or "device"
        worldMesh               // occlusion and physics against the real place
      />
      {/* Map coordinates: metres, Y up, the same on every device */}
      <ViroVPSAnchor>
        <Viro3DObject
          source={require('./sign.glb')}
          type="GLB"
          position={[1.2, 0, -3.1]}
        />
      </ViroVPSAnchor>
    </ViroARScene>
  );
}

Manage every place in ReactVision Spatial

Each project gets VPS Locations: every scan of a place with its progress, quality readings and cost, a 3D preview with measuring and the recorded camera views, and every file to download. Owners and admins set a monthly spend limit and a daily scan limit per app user.

Scan details in ReactVision Spatial for a kitchen scan: a high-quality textured mesh with detected objects (cabinets, a window, an oven, a door and an exhaust hood), an accepted map with 0.8 cm median position error and 5,359 map points, and a timeline showing the scan finished in under nine minutes
Scan details in ReactVision Spatial: the textured mesh and detected objects, map quality readings, cost and the processing timeline.

What teams build with Advanced VPS

On-prem and custom capture pipelines

Advanced VPS can be deployed on-premises, inside your own infrastructure. It can also plug into a custom capture pipeline, so devices such as smart glasses and drones can capture a space and feed that capture in.

Talk to us about an on-premises deployment or a capture pipeline of your own.

Pricing and deployment

Paid plans

$0.60 a minute of scan processing, only for scans whose map is accepted, and $0.60 a minute of server localisation, billed by the second. Basic includes $5 of compute credit a month and Pro $15.

Compute prices

Enterprise and on-premises

Negotiated compute rates for high usage, and the whole pipeline inside your own network on your own GPU servers, with SSO and audit logging.

ReactVision for Enterprise

VPS-Lite, free

Need only to resolve back into a room? VPS-Lite scans a room, hosts it as an anchor and matches on the phone, free on every plan.

Spatial Intelligence

Advanced VPS runs on iPhone, iPad and Android with ViroReact 3.1.0 or later. Read the full story in Introducing Advanced VPS.

Advanced VPS questions, answered

What is Advanced VPS?
Advanced VPS is ReactVision's visual positioning system (VPS) for AR apps. Walk a place for about a minute with an iPhone or Android phone and it becomes a map that improves with every scan, plus a textured mesh, a Gaussian splat, camera poses and every object detected in the room. Apps built with ViroReact localise against the map continuously, on the device or on ReactVision's GPU servers, so content placed in the space stays exactly where you put it, for every device and every session.
How is Advanced VPS different from VPS-Lite?
VPS-Lite, which shipped in ViroReact 3.0.0, treats a place as one frozen scan that a device resolves into once, with matching on the phone, and it is free on every plan. Advanced VPS treats a place as a map that improves with every scan, localises continuously, can match on ReactVision's GPU servers so it holds up across days and lighting, and also returns a mesh, a Gaussian splat and an object map. It needs a paid plan.
Which devices does Advanced VPS run on?
Scanning and localising run on iPhone and iPad (ARKit) and Android (ARCore), in apps built with ViroReact 3.1.0 or later and in StudioGo. Meta Quest, Apple Vision Pro and the web do not support VPS.
Do I need a phone with LiDAR?
No. Any supported iPhone or Android phone can scan. If the phone has LiDAR or ARCore depth, Advanced VPS records it and uses it to build a better mesh, even in rooms with blank walls; without it, the mesh comes from photogrammetry.
How accurate is Advanced VPS?
In our self-checks on the same day and in the same light, median error was 1.7 cm on the device and 1.1 cm on the server. Across days and lighting the server holds up much better: in a car park recorded nine days apart, the server localised 77% of frames against 16% on the device, and at night 22% against 0%.
What files do I get from a scan?
A localisation map, a textured mesh (GLB), a Gaussian splat (PLY), camera poses and an object map of the detected furniture, appliances, doors and fixtures, all in the same coordinates. Download them through the /vps API with a secret key or user token, or view them in the ReactVision Spatial scan details view.
How much does Advanced VPS cost?
Advanced VPS needs a paid plan and is billed as compute time: $0.60 a minute of scan processing, only for scans whose map is accepted, and $0.60 a minute for server localisation, billed by the second. Basic includes $5 of compute credit a month and Pro $15, and Enterprise plans get negotiated rates. Localising on the device costs nothing after the map is downloaded.
Can Advanced VPS run on-premises?
Yes. Advanced VPS can be deployed on-premises, inside your own infrastructure. It can also plug into a custom capture pipeline, so devices such as smart glasses and drones can capture a space and feed that capture in. The scan processing and server localisation need GPU servers in your environment.
Does Advanced VPS need GPS?
No. GPS helps find the nearest scanned place and geo-registers the map, but an indoor place can be found by its id or by a camera image, and localisation itself is visual.
How does Advanced VPS compare to Niantic Lightship VPS?
Lightship VPS localises against public places Niantic has already mapped. Advanced VPS works on places you scan yourself with an ordinary phone, gives you the mesh, splat and objects from every scan, runs in ReactVision's cloud or on-premises, and is built into the open-source ViroReact renderer for React Native, with no Unity required.

Scan your first place today

Create an account, open StudioGo on your phone and walk the room. Or talk to us about Advanced VPS across your sites.