React Native Officially Launches on Meta Quest
React Native now officially supports development for Meta Quest VR devices. The launch enables developers to use their existing React Native skills and codebases to build applications for the virtual reality platform. This expansion signals the framework's growing cross-platform capabilities beyond web and mobile.
- Meta has been using React Native internally for first-party Meta Quest apps for a significant time, including for the main feed and the store's product details pages. The official public launch extends this capability to all third-party developers. - The development workflow leverages the fact that Meta Horizon OS is based on the Android Open Source Project (AOSP). This allows React Native developers to use existing Android tooling, build systems, and debugging processes with minimal adjustments. - Getting started is streamlined through Expo and the Expo Go app, which is available on the Meta Horizon Store. Developers can create a standard Expo app, start the development server, and scan a QR code with the headset to see live-reloaded changes. - While many core Expo modules work out-of-the-box, developers must use a specific plugin, `expo-horizon-core`, to configure projects for the Meta Horizon Store. This plugin handles adjustments like removing prohibited permissions and configuring Android product flavors for Quest devices. - Applications built with React Native on Quest are primarily 2D panels that exist in a 3D space. This allows developers to utilize their existing knowledge of building 2D interfaces without needing to become experts in 3D development, though integrations with libraries like Three.js are possible for more complex scenes. - This initiative is part of a broader "Many Platform Vision" for React Native, which aims to adapt the framework to new devices and form factors beyond its origins in iOS and Android. Previous expansions have included Apple TV, Windows, and macOS. - Performance is a key consideration, as dropped frames are more noticeable in an immersive VR environment. Developers can use familiar Android profiling tools like Perfetto and Android Studio's profiler to optimize their applications. - Not all Android functionalities are available on Meta Quest; for example, features dependent on Google Mobile Services (like certain notifications and location services) and hardware like GPS are not supported. Libraries are available to provide alternative implementations for some of these features, such as location via Wi-Fi and IP geolocation.