v2.10.0
playcanvas/enginev2.10.0Jul 24, 2025by mvaligursky
AI Summary
A major feature release focusing on GSplat (Gaussian Splatting) improvements, WebGPU enhancements, and camera/script updates.
Key Highlights
- GSplat asset compression
- WebGPU fragment output support
- OrbitController zoom ownership
- ShadowRenderer cascade improvements
- Immediate storage buffer reads
New Features
- Updated few gsplat examples to use compressed version of the splat asset
- First Person script updates
- OrbitController zoom ownership
- Add support for baseVertex in index buffer creation within wireframe generator
- Removing redundant checks in ShadowRendererDirectional
- Add control mesh shadow in individual cascade
- Add immediate flag to storage buffer read
- Preprocessor: simple support for precedence parentheses in #if evaluation
- Enable highQualitySH by default
- SOGS progress events
- Support for fragmentOutputTypes for WebGPU
- Pack sogs data at load
Full Release Notes
## New features * Updated few gsplat examples to use compressed version of the splat asset by @mvaligursky in https://github.com/playcanvas/engine/pull/7823 * First Person script updates by @kpal81xd in https://github.com/playcanvas/engine/pull/7829 * OrbitController zoom ownership by @kpal81xd in https://github.com/playcanvas/engine/pull/7833 * Add support for baseVertex in index buffer creation within wireframe generator by @AlexAPPi in https://github.com/playcanvas/engine/pull/7834 * Removing redundant checks in ShadowRendererDirectional by @AlexAPPi in https://github.com/playcanvas/engine/pull/7827 * Add control mesh shadow in individual cascade. by @AlexAPPi in https://github.com/playcanvas/engine/pull/7837 * Add immediate flag to storage buffer read by @slimbuck in https://github.com/playcanvas/engine/pull/7843 * Preprocessor: simple support for precedence parentheses in #if evaluation by @liamdon in https://github.com/playcanvas/engine/pull/7790 * Enable highQualitySH by default by @slimbuck in https://github.com/playcanvas/engine/pull/7846 * SOGS progress events by @slimbuck in https://github.com/playcanvas/engine/pull/7847 * Support for fragmentOutputTypes for WebGPU by @mvaligursky in https://github.com/playcanvas/engine/pull/7852 * Pack sogs data at load by @slimbuck in https://github.com/playcanvas/engine/pull/7851 ## Bug fixes * Fix grading issue by @slimbuck in https://github.com/playcanvas/engine/pull/7818 * Fix mesh instance sort key when using drawBucket by @mvaligursky in https://github.com/playcanvas/engine/pull/7819 * Default engine export fix by @kpal81xd in https://github.com/playcanvas/engine/pull/7831 * Engine & Examples build fixes by @kpal81xd in https://github.com/playcanvas/engine/pull/7830 * Sogs fix by @slimbuck in https://github.com/playcanvas/engine/pull/7832 * Bunde load omit include credentials by @kpal81xd in https://github.com/playcanvas/engine/pull/7836 * Input source codes fixes by @kpal81xd in https://github.com/playcanvas/engine/pull/7842 * [Fix] Fixed particle shader generation for cpu based particles by @mvaligursky in https://github.com/playcanvas/engine/pull/7845 * [Fix] Fix to morphing using incorrect shader when multiple morph meshes are used by @mvaligursky in https://github.com/playcanvas/engine/pull/7848 * [Fix] Change the default semantic to a different slot which does not map to tangents by @mvaligursky in https://github.com/playcanvas/engine/pull/7849 * [Fix] CameraFrame preserves settings when handling layer being added or removed by @mvaligursky in https://github.com/playcanvas/engine/pull/7850 * Fix for loading sogs without sh by @slimbuck in https://github.com/playcanvas/engine/pull/7854 **Full Changelog**: https://github.com/playcanvas/engine/compare/v2.9.2...v2.10.0