ViroReact is the open-source library for building production AR apps with React Native and Expo. Full ARKit and ARCore access, declarative components, TypeScript-first - no Unity, no C#, no new engine to learn.
Most AR engines hand you a renderer and leave the rest to figure out. ViroReact is built around the React Native model you already know, so the learning curve is shorter and the code stays clean.
Build AR scenes with JSX components and typed props. The same React Native patterns you use for screens - just rendered in 3D space.
ViroReact compiles to native ARKit on iOS and ARCore on Android - not a browser canvas. Hardware-speed performance, device features intact.
ViroReact works inside an Expo project via a development build. Bring your existing Expo workflow, ship AR alongside it.
Dynamic and static physics bodies, collision callbacks, and a particle system for fire, smoke, rain, snow, and confetti - no plugins required.
Physically-based materials, HDR environment maps, real-time shadow casting - the kind of visual quality your users expect on modern devices.
No paywalls, no feature tiers, no runtime fees, no per-seat charges. The full source is on GitHub. Use it in commercial products, no questions asked.
Everything you need to ship a production AR experience - tracking, anchoring, interaction, audio, and rendering - lives inside a single library. No third-party plugins, no paid add-ons.
Horizontal and vertical plane detection with surface anchors. Place content on floors, walls, tables, and any detected surface in real time.
Detect printed images, posters, packaging, and physical objects to trigger AR content. Great for retail, marketing, and museum experiences.
Load OBJ, FBX, and GLTF/GLB models with embedded animations. Build custom procedural geometry from vertex arrays when you need full control.
Tap, drag, pinch, rotate, fuse, and hover events on every node. The same event model React Native developers already understand.
Positional 3D audio, 360 degree sound fields, and ambient mixing - so audio behaves correctly as the user moves through your scene.
Run custom vertex and fragment shaders directly on the device GPU for effects, post-processing, and stylised rendering.
A scene is a component. A 3D object is a component. Anchors, lights, and materials are all props. If you have shipped a React Native app, you can read this on day one.
import { ViroARScene, ViroARPlane, Viro3DObject } from '@reactvision/react-viro';
export function Scene() {
return (
<ViroARScene>
{/* Snap content to the first detected horizontal surface */}
<ViroARPlane minHeight={0.3} minWidth={0.3} alignment={"Horizontal"}>
<Viro3DObject
source={require('./assets/model.glb')}
position={[0, 0, 0]}
scale={[0.2, 0.2, 0.2]}
type="GLB"
onClick={() => console.log('tapped')}
/>
</ViroARPlane>
</ViroARScene>
);
}
Unity and Niantic Lightship are capable engines - but they were not built for React Native teams. Here is how the trade-offs compare for a mobile AR project.
ViroReact is built on React Native - one of the best-understood stacks in the world for both human developers and AI coding agents. Declarative JSX, typed props, familiar patterns. The kind of code an AI agent gets right first time.
Components, props, hooks, refs - the model your team already ships with. No engine-specific abstractions, no editor UI to learn before writing your first scene.
Clean, readable JSX with typed props is exactly the input AI coding tools handle best. Pair-program your AR scenes the same way you pair-program the rest of your app.
ViroReact is the renderer. For the parts that need infrastructure - persistent shared anchors, world-coordinate AR, and 3D content creation - ReactVision Studio plugs straight in. Add an rvApiKey and rvProjectId, and the platform handles the rest.
Persistent, multi-user shared AR content. Hosted and resolved on the ReactVision Platform - no third-party setup required.
Anchor AR content to real-world latitude, longitude, and altitude. Build location-based experiences without standing up your own backend.
Generate 3D models from text or image prompts inside ReactVision Studio, export them, and drop them straight into your ViroReact scene.
The fastest way in is the official Expo + TypeScript starter kit. Working AR demos, ready to run on a real device.
Install the package, pair it with the starter kit, and have a working AR scene running on your phone today.
Have a quick question or need feedback? Jump into our Discord for real-time chat, or post on r/ReactVision to get answers, code samples, and tips from thousands of fellow builders.
Need deeper help? Engage a trusted ViroReact Partner. Certified agencies and consultants can architect, build, or optimise your XR app, run performance audits, and guide store launches so you ship faster with confidence.
Find a Trusted Partner
© 2025 - 2026 ReactVision, Inc. All rights reserved.
Site version 1.9.3
llms.txt | Sitemap | StudioGo Privacy Policy | Play AR Privacy Policy
© 2025 - 2026 ReactVision, Inc. All rights reserved.
Site version 1.9.3
llms.txt | Sitemap | StudioGo Privacy Policy | Play AR Privacy Policy