React Native for visionOS lets you build Apple Vision Pro apps with React Native. It is an
out-of-tree platform: your project keeps its ios/ and android/ folders and gains a
visionos/ one, all three driven by the same JavaScript.
This fork exists so that ViroReact can render spatial scenes on visionOS. It is useful on its own for any React Native app targeting the platform.
MIT licensed and free forever.
This work stands on two others, and neither is ours:
- React Native is built by Meta and its contributors. This repository is a fork of it, and every commit of that history is preserved here.
- visionOS support was created by Callstack.
The platform, the Swift app scaffolding, the
visionosresolver — that design is theirs. ReactVision continues it from React Native 0.86 onward.
| React Native | Package | Status |
|---|---|---|
| 0.86.x | @reactvision/react-native-visionos@0.86.x |
✅ Current |
| 0.79.6 and earlier | @callstack/react-native-visionos |
Callstack's releases |
The package version tracks the React Native version it is built from, so 0.86.2 is React Native
0.86.2 with visionOS support added. Install it alongside react-native, not instead of it.
npm install @reactvision/react-native-visionosThen create the visionos/ folder once, and build:
npx expo prebuild
cd visionos && pod installPlatform.OS is "ios" on visionOS — the platform keeps the iOS identity so that the ecosystem's
iOS code paths work unchanged. Branch on the platform only where you genuinely need to.
If you want 3D, AR or VR content rather than 2D UI, this fork is the foundation and ViroReact is the renderer on top. Its config plugin wires up everything this platform needs — pods, the Metro resolver, the immersive space scene, the Xcode bundling phase — so a Viro project needs no manual visionOS setup.
See the ViroReact visionOS guide for the full walkthrough.
- A
visionosplatform target, resolved through@callstack/out-of-tree-platforms - SwiftUI app scaffolding with
WindowGroupandImmersiveSpacescenes WindowManagerandXRnative modules for opening windows and immersive spaces from JavaScript- visionOS-aware podspecs and build settings across React Native's own pods
React Native's own documentation applies unchanged for everything that is not visionOS-specific: https://reactnative.dev/docs/getting-started
For ViroReact and spatial rendering: https://viro-community.readme.io/docs/overview
Discord is the best place to find the team and other developers building with ReactVision:
Issues and pull requests are welcome. Changes that belong upstream — in React Native itself, or in Callstack's visionOS work — are better sent there, and this fork will pick them up on the next rebase.
- Website: https://reactvision.xyz
- ViroReact: https://reactvision.xyz/viro-react
- ReactVision Studio: https://studio.reactvision.xyz
- Blog: https://updates.reactvision.xyz
React Native was open-sourced by Meta in 2015. Callstack added visionOS as an out-of-tree platform in 2024, carrying it to React Native 0.79. ReactVision picked it up from 0.86 to keep ViroReact shipping on Apple Vision Pro, and maintains this fork in the open.
MIT licensed. React Native is © Meta Platforms, Inc. and affiliates; visionOS support is © Callstack and © ReactVision, Inc.