The React Native community template with a visionos/ folder added, so a new project targets
iOS, Android and Apple Vision Pro from the same JavaScript.
npx @react-native-community/cli@latest init MyApp \
--template @reactvision/visionos-templateThat gives you android/, ios/ and visionos/, with
@reactvision/react-native-visionos
already in package.json.
cd MyApp/visionos && pod install
npx react-native run-visionosThe template only matters when creating a project. To add visionos/ to an existing app, generate
one into a scratch directory and copy the folder across:
npx @react-native-community/cli@latest init MyApp \
--template @reactvision/visionos-template \
--directory visionos-scratch --skip-installThe template version tracks React Native, and the visionos/ folder is built for that same
version. Mixing them is the thing to avoid: a visionos/ folder from one React Native version
against another needs manual reconciliation, and that reconciliation is exactly what this package
exists to spare you.
| Template | React Native |
|---|---|
@reactvision/visionos-template@0.86.x |
0.86.x |
For 3D, AR or VR content rather than 2D UI, add ViroReact on top. Its config plugin does the visionOS wiring — pods, the Metro resolver, the immersive space scene, the Xcode bundling phase — against the folder this template generates.
- The base is
@react-native-community/template, maintained by the React Native community. - The
visionos/folder derives from Callstack's@callstack/visionos-template, updated to React Native 0.86 and pointed at ReactVision's fork.
MIT licensed. © Meta Platforms, Inc. and affiliates; © Callstack; © ReactVision, Inc.