Viro React is a platform for developers to rapidly build augmented reality (AR) and virtual reality (VR) experiences. Developers write in React Native, and Viro runs their code natively across all mobile VR (including Google Daydream, Samsung Gear VR, and Google Cardboard for iOS and Android) and AR (iOS ARKit and Android ARCore) platforms. More info here.
This project contains various sample Viro projects.
Sign up for an API key. The platform is free to use with no limits on distribution.
To report bugs/issues with Viro platform, please file new issues on this repository.
- Follow directions on our Quick start guide to setup dependencies for trying these sample projects with the Viro Media App.
- Clone the repo into your workspace with git:
git clone https://github.com/viromedia/viro.git
. - Edit App.js, depending on your test device, and replace "API_KEY_HERE" with the key emailed to you with signup.
- Run
npm install
from the root of this project. - Run
npm start
from the root of this project. - Open the Viro Media App, slide out the left panel and select "Enter Testbed".
- Type the entire ngrok URL output (xxxxxx.ngrok.io) at the top of the terminal into the text field and hit 'GO'
- You should now be in the application! Enjoy!
- Open App.js in a text editor.
- For AR, set showARScene=true at line 44.
- For VR, Modify line 61:
scene: scenes['360 Photo Tour'],
to a scene defined in thescenes
dictionary on line 30. - Reload/restart the application.
Check out our website.
Look at our documentation.
Join our Slack group here.
![](https://raw.githubusercontent.com/viromedia/viro/master/js/HelloWorld/helloworld.gif)
A scene with a 360 photo that displays "Hello World".
![](https://raw.githubusercontent.com/viromedia/viro/master/js/360PhotoTour/360_photo_tour.gif)
360 photo tour example that shows you how to display a 360 photo with clickable hot spots.
![](https://raw.githubusercontent.com/viromedia/viro/master/js/HumanBody/heart_demo.gif)
This example showcases 3d objects. Orbit around a 3d Heart to see it from different angles!
![](https://raw.githubusercontent.com/viromedia/viro/master/js/ViroMediaPlayer/movie_theater.gif)
Learn how to display and play 2d and 360 video with interactive play controls that can play, pause and stop.
![](https://raw.githubusercontent.com/viromedia/viro/master/js/ProductShowcase/product_showcase.gif)
Learn how to display and play 2d and 360 video with interactive play controls that can play, pause and stop. A demonstration on how to do an interactive shopping app for TV's. Uses flexbox for UI and 3d objects with animations.
![](https://raw.githubusercontent.com/viromedia/viro/master/js/ARSample/ar_sample.gif)
A scene with objects, text and animation displayed on ARKit planes detected in the scene.
![](https://raw.githubusercontent.com/viromedia/viro/master/js/ARCarDemo/viro_car_marker_demo.gif)
An ARScene that looks for this image and adds a model of a car with the ability to change its colors.
![](https://raw.githubusercontent.com/viromedia/viro/master/js/ARPosterDemo/viro_black_panther_marker_demo.gif)
An ARScene that searches for this vertical marker and renders Black Panther jumping out of the marker.
A complete React Native w/Viro AR Sample App. Demonstrates how to place, drag, and scale objects in the real world while providing 2D UI feedback.
![](https://raw.githubusercontent.com/viromedia/viro/master/js/ViroARSampleApp/ar_sample_app.gif)