When we released React VR in April of 2017, our goal was to create a web-based framework that would enable developers to easily add interactivity to immersive content in order to create engaging experiences. Because the content can be viewed in any modern web browser, developers can potentially reach billions of mobile and PC users, in addition to early adopters of VR headsets.

Over the past year, developers have used React VR to create some outstanding experiences, which largely fall into three main use cases:

These examples are some of the best applications of React VR we’ve seen. As we continue to understand how developers use the framework, and work with Oculus and Facebook teams to explore best practices for VR applications, we're painting a clearer picture of the kinds of functionality that are critical to developing these experiences. Our latest release is focused on enabling and simplifying the features developer use most: things like easy layout onto 2D surfaces, greater support for immersive media, and simpler control of the environment.

Some keen-eyed developers who have followed our talks at conferences may have also noticed that there are two different versions of React VR: the open-sourced version targeting the web, and an Oculus-internal version used for our mobile and PC apps. While these projects started from a shared API, they have since diverged to address different needs. The web framework needs to support many 2D display modes and input systems that aren't relevant to our internal framework. Meanwhile, our internal framework has grown closer to the other native libraries we use at Oculus each day. We now have two distinct systems sharing the same namespace.

To avoid further confusion, this latest update comes with a name change. From here onwards, the web framework will be known as React 360.

React 360 is a better reflection of how this framework is used by most developers and also highlights the large audience of non-VR users that developers are able to reach with React 360 content. While the core functionality you’ve come to expect hasn’t changed, this rebranding provides clearer prioritization for our future roadmap planning and the latest improvements introduced today at F8. Highlights include:

  1. Pixel Perfect 2D: It’s now much easier to create 2D interfaces in 3D space. With the introduction of Surfaces, we've made it easy to place UI panels into your application. With Surfaces you can work in pixels instead of meters, easily implement specs created with traditional design tools, and even port over sections of code from React Native. These panels are based on the same UI principles employed by Oculus applications, and are optimized for clarity. Moving forward, we'll continue to develop new techniques to improve visual quality here.
  2. Improved Media Support: We’ve added new environment features to better handle immersive media, including support for 180° mono and stereo video, built-in transitions, and faster loading. As a developer, you now have more precise control over the appearance of your application. It's never been easier to bring interactivity to your panoramic media.
  3. Better Performance: We've rebuilt the runtime from the ground up to help improve performance. This new architecture gives developers the ability to reach lower-end devices, improving frame rate while reducing the occurrence of garbage collection. These updates are just the start – we have even more optimizations in the works to help developers deliver content to a wider range of web-enabled devices.

This new focus will help us target the most critical needs that developers face today. We look forward to seeing the new experiences that you’ll create with React 360. Keep building!