ViroReact is the leading library for building AR and VR experiences and applications using React Native and Expo.
See the codeViroReact is the most widely used open-source library for building Augmented Reality (AR) and Virtual Reality (VR) experiences with React Native. Write your app once in TypeScript and ship it natively across mobile AR and VR headsets — no new engine, no new language, no months of ramp-up.
ViroReact is MIT licensed and free forever.
| Platform | Support | Notes |
|---|---|---|
| iOS (ARKit) | ✅ | Deployment target 15.1 |
| Android (ARCore) | ✅ | |
| Meta Horizon OS | ✅ | Quest 2 / Pro / 3 / 3S through OpenXR; mixed reality on Quest 3 / 3S |
| Apple visionOS | ✅ | Needs the optional @reactvision/react-native-visionos peer; deployment target 26.0 |
| Web (WebGL2 / WASM) | ✅ | Needs the optional @reactvision/viro-web-renderer peer |
ViroReact works with both React Native CLI and Expo projects.
npm install @reactvision/react-viro
For Expo projects, the easiest way to start is to clone the official starter kit:
For step-by-step setup instructions, including platform-specific permissions and build configuration, see the full installation guide in the docs: https://viro-community.readme.io/docs/installation-instructions
If you're building AR, VR or XR apps with ViroReact, our MCP server is the fastest way to get moving. Think of it as a living guide to ViroReact, always current, that plugs straight into the tools you already use.
Connect it to Claude, Codex, Cursor or any other coding agent, and your agent instantly understands how to work with ViroReact's cross-platform rendering. No hunting through docs, no guesswork. (Our documentation is still a great companion, but the MCP is the most up to date source there is.)
ViroReact ships with a complete spatial computing toolkit out of the box — no third-party plugins, no paid add-ons.
Tracking and anchoring
Rendering
Interaction and motion
Audio
Cloud Anchors, Geospatial Anchors, and AI-powered 3D asset creation are powered by ReactVision Platform — managed cloud infrastructure built directly into ViroReact. Add your rvApiKey and rvProjectId and the platform handles hosting, resolution, and geospatial infrastructure for you.
You can get a Studio account, which includes Platform access, for free at https://studio.reactvision.xyz.
Two capabilities are shipped as separate, opt-in packages rather than in core — install them only if you need them:
@reactvision/react-viro-onnx — on-device object detection. It provides the ONNX Runtime inference engine behind ViroObjectDetector (model inference, NMS, class-name decoding). Without it, ViroObjectDetector returns no detections. Keeping it separate avoids bundling ONNX Runtime (~tens of MB) into apps that don't use detection.
@reactvision/react-viro-face-tracking — front-camera (ARKit face-tracking) AR. It backs the frontCameraEnabled prop on ViroARSceneNavigator. On iOS ARKit reaches the front camera only through the TrueDepth API, which Apple statically scans for under App Store review Guideline 2.5.1 — so it's kept out of the core binary. Apps that don't use front-camera AR stay TrueDepth-free and pass review with no configuration; install this package (and declare TrueDepth) only when you need it. For a selfie feed without face tracking, use ViroCameraTexture with cameraPosition="front" — that's in core and uses AVFoundation, no TrueDepth.
ReactVision Studio is our browser-based visual scene editor for AR and VR. Build scenes visually in Studio, then embed them inside your own ViroReact app with a single component. Designers and developers can iterate on a scene in Studio and have it update in production without a new app build.
Build scenes visually
Embed Studio scenes in your app
Drop the StudioSceneNavigator component into your ViroReact app, point it at a Studio scene, and your app picks up whatever your team is editing in Studio without a new native build.
Getting started
Full walkthrough — including Studio setup, exporting a scene, and wiring StudioSceneNavigator into a React Native app — is in our blog: https://updates.reactvision.xyz/how-to-build-your-first-ar-vr-app-with-studio-and-react-native-f2421ecce9ae
Guides that ship in this repository:
CHANGELOG.md — what changed, by releaseFeature guides for VPS, visionOS, Quest, the web renderer, platform extensions, shaders, object detection, camera texture and session recording are on the documentation site above.
Discord is the best place to find the team and other developers building with ViroReact:
For teams adopting XR at scale, the ReactVision team works directly with you on architecture, migrations from 8th Wall or Unity, performance audits, and shipping production experiences. https://reactvision.xyz/contact
For independent agencies and consultants vetted by the ReactVision team: https://reactvision.xyz/partners
A huge thank you to everyone who supports ongoing development by sponsoring us on GitHub: https://github.com/sponsors/ReactVision
JetBrains supports ViroReact development through their Open Source program.
ViroReact was originally developed by Viro Media and open-sourced in 2019. In late 2020, the Viro Community formed to maintain and modernise the project, keeping it compatible with current React Native versions. In January 2025, Morrow Digital acquired the project to invest in its future, and in late 2025 ReactVision was spun out as an independent company with a full-time team building the next generation of XR tooling.
MIT licensed. © ReactVision, Inc.
6,235 followers · starred Jun 2022
329 followers · starred Jan 2024
604 followers · starred May 2021
438 followers · starred Jun 2022
ViroReact is the leading library for building AR and VR experiences and applications using React Native and Expo.
See the codeViroReact is the most widely used open-source library for building Augmented Reality (AR) and Virtual Reality (VR) experiences with React Native. Write your app once in TypeScript and ship it natively across mobile AR and VR headsets — no new engine, no new language, no months of ramp-up.
ViroReact is MIT licensed and free forever.
| Platform | Support | Notes |
|---|---|---|
| iOS (ARKit) | ✅ | Deployment target 15.1 |
| Android (ARCore) | ✅ | |
| Meta Horizon OS | ✅ | Quest 2 / Pro / 3 / 3S through OpenXR; mixed reality on Quest 3 / 3S |
| Apple visionOS | ✅ | Needs the optional @reactvision/react-native-visionos peer; deployment target 26.0 |
| Web (WebGL2 / WASM) | ✅ | Needs the optional @reactvision/viro-web-renderer peer |
ViroReact works with both React Native CLI and Expo projects.
npm install @reactvision/react-viro
For Expo projects, the easiest way to start is to clone the official starter kit:
For step-by-step setup instructions, including platform-specific permissions and build configuration, see the full installation guide in the docs: https://viro-community.readme.io/docs/installation-instructions
If you're building AR, VR or XR apps with ViroReact, our MCP server is the fastest way to get moving. Think of it as a living guide to ViroReact, always current, that plugs straight into the tools you already use.
Connect it to Claude, Codex, Cursor or any other coding agent, and your agent instantly understands how to work with ViroReact's cross-platform rendering. No hunting through docs, no guesswork. (Our documentation is still a great companion, but the MCP is the most up to date source there is.)
ViroReact ships with a complete spatial computing toolkit out of the box — no third-party plugins, no paid add-ons.
Tracking and anchoring
Rendering
Interaction and motion
Audio
Cloud Anchors, Geospatial Anchors, and AI-powered 3D asset creation are powered by ReactVision Platform — managed cloud infrastructure built directly into ViroReact. Add your rvApiKey and rvProjectId and the platform handles hosting, resolution, and geospatial infrastructure for you.
You can get a Studio account, which includes Platform access, for free at https://studio.reactvision.xyz.
Two capabilities are shipped as separate, opt-in packages rather than in core — install them only if you need them:
@reactvision/react-viro-onnx — on-device object detection. It provides the ONNX Runtime inference engine behind ViroObjectDetector (model inference, NMS, class-name decoding). Without it, ViroObjectDetector returns no detections. Keeping it separate avoids bundling ONNX Runtime (~tens of MB) into apps that don't use detection.
@reactvision/react-viro-face-tracking — front-camera (ARKit face-tracking) AR. It backs the frontCameraEnabled prop on ViroARSceneNavigator. On iOS ARKit reaches the front camera only through the TrueDepth API, which Apple statically scans for under App Store review Guideline 2.5.1 — so it's kept out of the core binary. Apps that don't use front-camera AR stay TrueDepth-free and pass review with no configuration; install this package (and declare TrueDepth) only when you need it. For a selfie feed without face tracking, use ViroCameraTexture with cameraPosition="front" — that's in core and uses AVFoundation, no TrueDepth.
ReactVision Studio is our browser-based visual scene editor for AR and VR. Build scenes visually in Studio, then embed them inside your own ViroReact app with a single component. Designers and developers can iterate on a scene in Studio and have it update in production without a new app build.
Build scenes visually
Embed Studio scenes in your app
Drop the StudioSceneNavigator component into your ViroReact app, point it at a Studio scene, and your app picks up whatever your team is editing in Studio without a new native build.
Getting started
Full walkthrough — including Studio setup, exporting a scene, and wiring StudioSceneNavigator into a React Native app — is in our blog: https://updates.reactvision.xyz/how-to-build-your-first-ar-vr-app-with-studio-and-react-native-f2421ecce9ae
Guides that ship in this repository:
CHANGELOG.md — what changed, by releaseFeature guides for VPS, visionOS, Quest, the web renderer, platform extensions, shaders, object detection, camera texture and session recording are on the documentation site above.
Discord is the best place to find the team and other developers building with ViroReact:
For teams adopting XR at scale, the ReactVision team works directly with you on architecture, migrations from 8th Wall or Unity, performance audits, and shipping production experiences. https://reactvision.xyz/contact
For independent agencies and consultants vetted by the ReactVision team: https://reactvision.xyz/partners
A huge thank you to everyone who supports ongoing development by sponsoring us on GitHub: https://github.com/sponsors/ReactVision
JetBrains supports ViroReact development through their Open Source program.
ViroReact was originally developed by Viro Media and open-sourced in 2019. In late 2020, the Viro Community formed to maintain and modernise the project, keeping it compatible with current React Native versions. In January 2025, Morrow Digital acquired the project to invest in its future, and in late 2025 ReactVision was spun out as an independent company with a full-time team building the next generation of XR tooling.
MIT licensed. © ReactVision, Inc.
6,235 followers · starred Jun 2022
329 followers · starred Jan 2024
604 followers · starred May 2021
438 followers · starred Jun 2022