Skip to content

Repository files navigation

NVIDIA CloudXR.js SDK - Getting Started

For comprehensive documentation, see the NVIDIA CloudXR SDK documentation.

The NVIDIA CloudXR.js SDK enables developers to build web clients that stream high-quality spatial content from CloudXR servers with powerful GPUs to web browsers on XR devices. It consists of:

  • CloudXR.js SDK - a JavaScript client library
  • WebGL-based simple sample client that uses core Web APIs (WebGL, WebXR)
  • React-based sample client that uses the R3F (React-Three-Fiber) framework stack

Architecture

┌─────────────────────────┐         WebSocket + WebRTC        ┌──────────────────────────┐
│   Browser (Client)      │ ◄──────────────────────────────► │   GPU Server             │
│                         │                                   │                          │
│  CloudXR.js SDK         │   signaling (WS :49100)          │  CloudXR Runtime         │
│  ├─ createSession()     │   signaling TLS proxy (:48322)   │  ├─ OpenXR app           │
│  ├─ connect()           │   media (WebRTC :47998)           │  │  (Omniverse, Isaac,    │
│  ├─ sendTracking()      │   tracking data (client→server)  │  │   LÖVR, Unreal, etc.)  │
│  └─ render()            │   video frames (server→client)   │  └─ NVIDIA GPU(s)        │
│                         │                                   │                          │
│  WebXR Device API       │                                   │                          │
│  WebGL2 Rendering       │                                   │                          │
└─────────────────────────┘                                   └──────────────────────────┘

Think of it like a video call where one side is a GPU rendering a VR scene, and the other side is a lightweight browser on a headset. The server does all the heavy rendering; the client just displays decoded video frames and sends back head/hand tracking data.

Networking Ports

Port Protocol Purpose
49100 WebSocket Signaling (direct, non-secure)
48322 WSS Signaling TLS proxy (default HTTPS port)
47998 UDP (WebRTC) Media stream (video + audio)

It is strongly recommended that you work through this guide if you have never run CloudXR.js before.

The Pieces of a CloudXR.js Deployment

Even for development, you'll need all the pieces of a CloudXR.js deployment in order to build and test a client. These are:

  • a CloudXR Server
    • with a top-end NVIDIA GPU or 2 (e.g. dual RTX 6000 Ada)
    • which will run
      • the CloudXR Runtime
      • an OpenXR application (the thing you want to render on the server but see on the client)
  • a CloudXR.js development workstation
    • with Node.js and npm
    • which will run
      • the CloudXR.js sample client build
      • a Node-based development web server
  • a CloudXR.js client
    • which is one of:
      • an XR headset (Quest 2/3/3S or Pico 4 Ultra) with its built-in Browser app
      • a desktop browser: Google Chrome or Edge (IWER automatically loads for XR emulation)
    • which will run...
      • the CloudXR.js sample client served from the development web server.

We recommend that for your first experience, all above run on the same computer to eliminate networking related issues.

High Level Workflow

You need both a working client and a working server in order to test. Typically we follow a startup flow where server starts before the client:

  1. CloudXR Runtime
  2. Server XR application
  3. Sample client build + web server
  4. Test from the same computer
  5. Test from an XR headset (Quest 2/3/3S or Pico 4 Ultra) or a different computer

Quick Start Tip: For the fastest way to get a server running, try LÖVR - a lightweight VR framework that's great for testing your CloudXR.js client setup.

Documentation

Full documentation is available on the NVIDIA CloudXR SDK documentation site, including:

For AI Agents

Related Projects

License

The samples are licensed under the Apache License 2.0. See the LICENSE file for details.

About

The samples for CloudXR.js, a JavaScript Client SDK that enables developers to build enterprise web applications for streaming high-performance VR and AR content from the CloudXR Runtime.

Resources

Security policy

Stars

24 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages