v2.15.2

playcanvas/enginev2.15.2Jan 26, 2026by mvaligursky

AI Summary

Fixes XR input source crashes, controller models, and adds WebXR menu support.

Key Highlights

  • Fixes XrInputSource crash when grip is unavailable
  • Adds XrMenu script for WebXR hand/controller menus
  • Fixes controller models in XR movement example

New Features

  • XrMenu script for WebXR menus
  • XR input source crash fixes

Full Release Notes

## Fixes
- Fix XrInputSource crash when grip unavailable by @willeastcott in #8389
- Fix controller models in XR movement example by @willeastcott in #8390
- Fix XrInputSource JSDoc errors and redundant code by @willeastcott in #8391
- Fix duplicate XrViews instance and clean up handler in XrManager by @willeastcott in #8392
- Fix WebXR stereo frustum culling by @willeastcott in #8393
- Add XrMenu script and example for WebXR hand/controller menus by @willeastcott in #8407
- Fix account for camera local offset in XrNavigation teleport by @willeastcott in #8409
- Improve XrControllers script robustness and documentation by @willeastcott in #8410
- Correct vertex format mismatch when decoding Draco meshes by @willeastcott in #8394

**Full Changelog**: https://github.com/playcanvas/engine/compare/v2.15.1...v2.15.2