Talk

Unleashing the Potential of VR: Building Immersive Experiences with Familiar Tools

How to create immersive VR applications using React and JavaScript, making VR development accessible to frontend developers.

QCon London 2024 London, UK 2 min read

At Meta, I work in Reality Labs as part of the Meta for Work area on Workrooms - an immersive, collaborative office that lets you be present with colleagues virtually. This talk explores how we build VR software using tools that frontend developers already know.

Making VR Accessible

VR development has traditionally required deep game development expertise - working with game engines, understanding 3D graphics pipelines, and learning entirely new paradigms. But it doesn’t have to be that way.

React for VR

We use familiar React development patterns to build 2D interface panels within VR environments. This approach lets frontend developers contribute to VR applications without needing to learn Unity or Unreal from scratch.

Key Topics

Performance Challenges

  • Frame rate requirements: 72-90 fps minimum for comfortable VR
  • Six degrees of freedom tracking
  • Compositor layers and rendering optimization
  • Addressing latency issues that cause motion sickness

Testing Strategies

  • Jest-based end-to-end testing across multiple VR devices simultaneously
  • Validating UI behavior
  • Testing multiplayer aspects with multiple avatars
  • Performance testing by “hammering the environment”

Hardware Considerations

  • Supporting multiple Quest headset versions with varying capabilities
  • Bridging JavaScript and C# layers through React VR modules

Workrooms is one of the most performance-intensive applications on the Meta Quest platform, and it’s been fascinating to push the boundaries of what’s possible with web technologies in VR.