Release Notes#

This page documents releases for the CloudXR SDK and individual CloudXR components. Components can have their own version numbers and release cycles, so not every update is a full CloudXR SDK release.

CloudXR Runtime 6.2.0#

CloudXR Runtime 6.2.0 expands cloud-deployment configuration, upstream microphone audio, hand and controller input, haptics, and pacing controls for OpenXR server applications.

New Features in This Release#

Runtime Configuration#

  • Added mic-streaming to enable upstream microphone audio from compatible clients. On Windows runtime hosts, microphone streaming requires the CloudXR Virtual Audio Driver included with the CloudXR Runtime SDK.

  • Added max-fps to improve pacing and rate adaptation for low-FPS applications, such as applications rendering at 30 FPS or 45 FPS. Leave the default value 0 for applications that can render at high frame rates, such as 60 FPS or 90 FPS. Valid public values are 0-60.

  • Added STUN server configuration for ICE-based cloud deployments: stun-server-ip, stun-server-port, stun-username, and stun-credential.

Input and Device Support#

  • Added XR_EXT_hand_interaction support so applications can receive hand interaction actions derived from client hand-tracking data.

  • Added controller haptic feedback forwarding for clients and devices that advertise haptics support.

  • Added Xbox Controller gamepad support through the Microsoft Xbox OpenXR interaction profile.

Enhancements in This Release#

  • Improved WebRTC auto-mode port behavior, runtime pacing, pose handling, and streaming stability.

  • Improved streamed hand-tracker selection and priority handling.

Issues Fixed in This Release#

  • Improved handling for mono and multi-view client configurations.

  • Fixed WebRTC auto-mode behavior that could force the signaling port to 49100.

  • Fixed several depth, foveation, and client capability validation issues.

CloudXR Framework 6.1.0#

CloudXR Framework 6.1.0 adds Apple client support for upstream microphone control, controller haptics, server-derived hand interaction, bitrate control, and quality reporting.

New Features in This Release#

Audio, Haptics, and Streaming Controls#

  • Added Session.isMicEnabled and Session.setMicEnabled(_:) for microphone mute or unmute control during a streaming session.

  • Added controller haptics support for compatible visionOS controllers, including PlayStation VR2 Sense controllers when supported by the OS and device.

  • Added Config.maximumBitrateMbps to cap the streaming bitrate from 50 Mbps to 300 Mbps. Leave this value unset to use automatic bitrate adaptation.

Controller and Hand Input#

  • Added support for server-derived XR_EXT_hand_interaction controllers when the runtime advertises the hand interaction profile.

  • Improved visionOS hand-tracking stability when controllers or styli are connected by keeping hand tracking active while using non-predicted hand poses. The configured prediction factor resumes after all controllers and styli disconnect.

Enhancements in This Release#

  • Expanded public API documentation for Session.SessionQuality.

Issues Fixed in This Release#

  • Fixed a malformed server version string crash.

  • Fixed a Metal upscaler race condition.

  • Fixed clock sync response handling.

CloudXR.js 6.2.0#

CloudXR.js 6.2.0 improves application diagnostics, controller support, sample usability, and release quality for web-based CloudXR clients.

This release adds structured SDK log delivery, baseline controller haptics, additional streaming metrics, and focused fixes for WebGL state handling, message channel cleanup, controller behavior, and sample connection workflows.

CloudXR.js 6.2.0 is compatible with CloudXR Runtime 6.x.

CloudXR.js SDK#

Enhancements in This Release#

  • Added vibration haptics support.

  • Added app-facing SDK log delivery with configurable verbosity for connection and runtime diagnostics.

  • Added additional streaming metrics, including total valid streaming frames received.

  • Improved deferred exception handling for native and browser exceptions.

Issues Fixed in This Release#

  • Improved message channel cleanup during session disconnect.

  • Improved WebGL state handling around CloudXR rendering and cleanup.

CloudXR.js Samples#

Enhancements in This Release#

  • Improved sample connection flows, certificate feedback, and validation messaging.

  • Improved sample default server address handling when the server field is left blank.

  • Generally improved performance in the React client.

Issues Fixed in This Release#

  • Prevented stale browser-cached sample assets from hiding newer sample builds.

CloudXR.js 6.1.0#

CloudXR 6.1.0 brings CloudXR.js to general availability on NGC and GitHub. It also includes improvements to the web client SDK focused on stability, broader device compatibility, rendering quality, and performance. This release transitions CloudXR.js from Early Access (in 6.0) to General Availability. CloudXR.js 6.1.0 is compatible with CloudXR Runtime 6.x.

What’s New#

Rendering and Streaming#

  • Added H.265 support in CloudXR.js, including codec selection support in sample applications.

  • Added configurable texSubImage2D behavior for Meta Quest 3 performance tuning.

  • Improved color handling of rendering in the Meta Quest Browser.

Input and Device Support#

  • Added generic controller support and improved controller visibility handling during active XR sessions.

  • Created device profiles for all supported devices.

  • Added support for Meta Quest 2/3S.

Networking and Connectivity#

  • Added mediaAddress and mediaPort options for customizing NAT traversal scenarios.

  • Added HTTPS server tooling for Windows sample workflows.

Developer Experience and Samples#

  • Reduced React sample build size significantly.

  • Added sample UX improvements, including default placement controls, controller visibility toggles, and metrics UI updates.

Quality, Security, and Reliability#

  • Improved validation for streaming resolution settings.

Known Issues#

Pico 4 Ultra#

  • Right-eye image issues may occur in some setups.

  • After disconnecting a CloudXR.js session, refresh the page before reconnecting.

  • In the React sample, device performance is currently limited to about 60 FPS due to browser limitations.

CloudXR SDK 6.0#

CloudXR SDK 6.0 is a major release that introduces a new architecture with separate server and client components, expanded platform support, and a web-based client SDK.

What’s New#

New Architecture#

  • CloudXR Runtime: OpenXR-compliant runtime for Windows and Linux servers

  • CloudXR Framework: Native Swift framework for Apple clients (visionOS and iOS)

  • CloudXR.js (Early Access): JavaScript framework for web-based clients

Expanded Platform Support#

Server platforms:

  • Windows 10/11 (64-bit)

  • Ubuntu 22.04 or later (64-bit)

Client devices:

  • Apple Vision Pro (visionOS 2.4+)

  • iPhone and iPad (iOS 18.0+)

  • Meta Quest 3 (via web browser, OS version 79+)

  • Pico 4 Ultra (via web browser, Pico OS 15.4.4U+)

  • Desktop browsers with WebXR support

Web client support:

  • WebRTC-based streaming through standard web browsers

  • WebXR device API integration for immersive VR/AR experiences

  • Client framework-agnostic: works with Three.js, React Three Fiber, or vanilla WebGL

  • npm package distribution for easy integration

Native Apple client support:

  • SwiftUI and RealityKit integration

  • Full 6DOF head tracking via ARKit

  • Hand tracking support on visionOS

  • Bluetooth controller support (PlayStation DualSense)

  • Metal-accelerated video decoding and rendering

OpenXR extensions:

  • XR_NV_opaque_data_channel: Bidirectional data channels for application-specific communication

Stream Manager (Windows):

  • Windows RPC service for managing CloudXR runtime instances

  • Support for multiple runtime versions

  • Programmatic runtime management via C API

Key Features#

GPU-accelerated streaming:

  • NVENC hardware video encoding for low-latency streaming

  • Foveated streaming support for bandwidth optimization

  • Adaptive bitrate streaming

Comprehensive input support:

  • Head tracking (6DOF)

  • Hand tracking

  • Controller input (motion controllers, gamepad)

  • All input delivered through standard OpenXR APIs

Bidirectional communication:

  • Opaque data channels for custom application data

  • Low-latency message passing between server and client

Development tools:

  • Real-time streaming statistics HUD (CloudXR Framework)

  • Network diagnostics and monitoring

  • Telemetry for performance analysis

Known Issues#

  • IPv6 is not currently supported; IPv4 is required.

  • Audio streaming is supported on Windows server only.

  • Microphone input (audio upstream) is not currently supported.

  • Controller haptic feedback is not currently supported.

  • Pico 4 Ultra requires HTTPS mode for web clients.

System Requirements#

Refer to Requirements for detailed system requirements.

Migration from Previous Versions#

CloudXR SDK 6.0 introduces a new architecture that is not backward-compatible with previous versions. Applications built with earlier CloudXR SDK versions require migration to the new APIs.

Key differences:

  • The server component is now an OpenXR runtime rather than a SteamVR add-on.

  • Client applications use platform-specific frameworks (CloudXR Framework or CloudXR.js).

  • Runtime management uses the cxrServiceAPI.h C API.

For detailed migration guidance, refer to the Programming Guide and platform-specific user guides.

Additional Resources#