CloudXR.js (Early Access)#

Warning

Early Access Release: CloudXR.js is currently in early access. Features, APIs, and platform support may change in future releases. We welcome feedback to help shape the final product.

Meta Quest 3 and Pico 4 Ultra are now supported.

To get access:

  1. Apply to the CloudXR Early Access Program with a detailed description of your use cases. (We review applications on a weekly basis.)

  2. Once approved, you’ll receive an email to set up NGC.

  3. Download CloudXR.js with samples and follow the included guide.

CloudXR.js enables developers to build enterprise web applications for streaming high-performance VR and AR content from OpenXR compatible server applications (built with CloudXR Runtime). Built on the NVIDIA CloudXR technology using WebRTC stream protocol, this library provides seamless integration between web browsers and remote rendering systems, allowing users to experience immersive 3D applications directly in their browser.

CloudXR.js offers a complete solution for immersive web (WebXR) streaming, featuring automatic session management, optimized network protocols, and cross-platform compatibility. You can create rich VR/AR experiences that leverage the power of remote servers while maintaining the accessibility and ease of deployment that web applications provide. While we provide examples for WebGL and React Three Fiber implementations, CloudXR.js is a generic solution that can be integrated with any WebXR-compatible framework, making it suitable for a wide range of use cases from simple 3D visualizations to complex interactive applications.

Requirements#

Refer to CloudXR.js Requirements for supported devices, development requirements, and hosting requirements.

CloudXR.js works with any OpenXR-compatible application built with CloudXR Runtime, including NVIDIA Isaac Lab, LÖVR, and custom OpenXR applications.

Important

Server Configuration: CloudXR.js requires CloudXR Runtime to be configured with device profile set to auto-webrtc mode. Refer to Network Setup for port configuration and firewall requirements.

Quick Start#

For a step-by-step tutorial on building your first CloudXR.js application, refer to Getting Started with CloudXR.js.

Key Capabilities#

  • Session Management: Simple API for connecting to server applications (built with CloudXR Runtime) and managing streaming sessions with automatic state management. Refer to Session API.

  • WebXR Integration: Native integration with the WebXR Device API for immersive VR/AR experiences in the browser.

  • Flexible Deployment: Deploy via HTTP for development or HTTPS for production with WebSocket proxy support. Refer to WebSocket Proxy Setup for WebSocket proxy configuration.

  • Telemetry Optional anonymous telemetry collection for service improvement. Refer to CloudXR.js Telemetry.

  • Client Framework Agnostic: Works with vanilla WebGL, Three.js, React Three Fiber, or any WebXR-compatible framework.

  • Cross-Platform: Single codebase runs on Meta Quest, Pico, and desktop browsers without modification.

HTTP and HTTPS Modes#

CloudXR.js supports two connection modes:

HTTP Mode (Development):

  • Simplest setup for local development

  • Direct WebSocket connection to CloudXR Runtime

  • Requires browser flag on Quest 3 to allow insecure origins

  • Not supported on Pico 4 Ultra

HTTPS Mode (Production):

  • Required for production deployments

  • Requires WebSocket SSL proxy (HAProxy, nginx, etc.)

  • Works on all supported devices including Pico 4 Ultra

  • Uses TLS certificates for secure communication

See WebSocket Proxy Setup for WebSocket proxy setup and Network Setup for general network requirements.

Example Applications#

CloudXR.js includes several example applications:

  • Simple WebGL Example: Minimal implementation showing basic CloudXR.js integration with vanilla WebGL.

  • React Three Fiber Example: Advanced example using React and Three.js with UI components for connection management.

  • Isaac Lab Teleoperation: Complete robot teleoperation example with hand tracking and controller support.

See Example Applications for implementation details.

Resources#

  • Sample Code Repository: NVIDIA/cloudxr-js-samples (coming soon)

  • API Documentation: TypeDoc-generated documentation included with the Early Access Program artifacts on NGC

Documentation Contents#