# facebookarchive/react-360

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/facebookarchive-react-360).**

8,706 stars · 1,221 forks · JavaScript · NOASSERTION · archived

## Links

- GitHub: https://github.com/facebookarchive/react-360
- Homepage: https://facebook.github.io/react-360
- awesome-repositories: https://awesome-repositories.com/repository/facebookarchive-react-360.md

## Description

React 360 is a framework for building immersive virtual reality experiences that run in a web browser using a declarative React component model. It functions as a browser-based VR platform and a WebGL VR renderer, enabling developers to create 360-degree panoramic and stereoscopic content without requiring native code installation.

The framework provides a declarative VR component library that describes VR scenes as nested React components, with props mapping to 3D objects, lights, and camera positions. It handles user input from VR controllers, gaze tracking, and mouse events through a unified event dispatch layer, while abstracting VR hardware differences through the WebVR API for cross-device head tracking and stereoscopic rendering.

Under the hood, React 360 maintains a runtime scene graph that updates 3D object positions and properties in response to state changes, and renders content through WebGL shaders and GPU-accelerated graphics. The framework includes an asset loading pipeline for asynchronous loading of 360-degree textures, 3D models, and audio assets with progress tracking and caching. Its React Native bridge architecture serialises component trees into JSON commands sent to a host runtime that manages the actual view hierarchy.

The project's documentation covers installation, component API references, and guides for building and deploying VR experiences across multiple hardware platforms.

## Tags

### Graphics & Multimedia

- [VR Experience Creation](https://awesome-repositories.com/f/graphics-multimedia/vr-experience-creation.md) — Builds immersive virtual reality applications that run in a web browser using a declarative component model. ([source](https://cdn.jsdelivr.net/gh/facebookarchive/react-360@master/README.md))
- [VR Hardware Compatibility](https://awesome-repositories.com/f/graphics-multimedia/vr-hardware-compatibility.md) — Renders VR content through WebGL and WebVR APIs so experiences work on multiple hardware platforms without native code. ([source](https://cdn.jsdelivr.net/gh/facebookarchive/react-360@master/README.md))

### Part of an Awesome List

- [Virtual Reality Frameworks](https://awesome-repositories.com/f/awesome-lists/ai/virtual-reality-frameworks.md) — Provides a framework for building immersive 360-degree and VR experiences that run in a web browser using declarative React components.
- [WebGL Rendering Pipelines](https://awesome-repositories.com/f/awesome-lists/devtools/canvas-and-webgl-graphics/webgl-rendering-pipelines.md) — Renders 3D scenes and 360-degree content directly in the browser using WebGL shaders and GPU-accelerated graphics.
- [VR Renderers](https://awesome-repositories.com/f/awesome-lists/devtools/canvas-and-webgl-graphics/webgl-rendering-pipelines/vr-renderers.md) — Outputs VR content through WebGL and WebVR APIs for cross-device compatibility.
- [Authoring Tools](https://awesome-repositories.com/f/awesome-lists/media/360-media/authoring-tools.md) — Creates and composes 360-degree panoramic and stereoscopic content for VR experiences.

### Game Development

- [VR Asset Loaders](https://awesome-repositories.com/f/game-development/asynchronous-asset-loading/vr-asset-loaders.md) — Provides asynchronous loading of 360-degree textures, 3D models, and audio assets with progress tracking and caching.
- [Scene Graphs](https://awesome-repositories.com/f/game-development/engine-architecture/scene-graphs.md) — Maintains a hierarchical tree of 3D objects in memory, updating positions and properties in response to state changes.

### Software Engineering & Architecture

- [VR Platforms](https://awesome-repositories.com/f/software-engineering-architecture/browser-platforms/vr-platforms.md) — Enables virtual reality applications to run directly in web browsers without native code installation.

### User Interface & Experience

- [VR Component Libraries](https://awesome-repositories.com/f/user-interface-experience/declarative-component-libraries/vr-component-libraries.md) — Provides a library of reusable React components for constructing 360-degree and virtual reality user interfaces.
- [Declarative UI Components](https://awesome-repositories.com/f/user-interface-experience/declarative-ui-components.md) — Describes VR scenes as nested React components with props mapping to 3D objects, lights, and camera positions.
- [Input Event Dispatchers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/event-handling-architectures/input-event-dispatchers.md) — Handles user input from VR controllers, gaze tracking, and mouse events through a unified event dispatch layer.
- [Cross-Platform Rendering](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/web-based-native-ui/cross-platform-rendering.md) — Renders VR content through WebGL and WebVR APIs so experiences work on multiple hardware platforms without native code.

### Web Development

- [VR Development](https://awesome-repositories.com/f/web-development/react-application-development/vr-development.md) — Develops virtual reality applications using React's component model and declarative programming approach.
- [WebVR Applications](https://awesome-repositories.com/f/web-development/web-application-development/webvr-applications.md) — Creates virtual reality applications that run directly in web browsers without requiring native app installation.

### Hardware & IoT

- [VR Device Abstraction Layers](https://awesome-repositories.com/f/hardware-iot/hardware-abstraction-layers/vr-device-abstraction-layers.md) — Abstracts VR hardware differences through the WebVR API, enabling cross-device head tracking and stereoscopic rendering.

### Mobile Development

- [Bridge Architectures](https://awesome-repositories.com/f/mobile-development/react-native-ecosystem/react-native-components/bridge-architectures.md) — Serialises React component trees into JSON commands sent over a native bridge to a host runtime managing the view hierarchy.
