
Michael Rubloff
Apr 24, 2025
The PlayCanvas engine has long been a pioneer in bringing real-time 3D experiences to the browser, but with version 2.7, it takes an exciting step forward in its gaussian splatting capabilities.
The headline feature is the new support for shadow casting in GSplat components. This has been a huge request and one that has barely made its way into the various game engine plugins. However, this is now part of the PlayCanvas Engine for Gaussian Splatting users. It’s important to note that this functionality has not yet been translated into SuperSplat, but because these pieces are open sourced, you could fork the supersplat-viewer repo and then add it to their experience.
That said, with how quickly the PlayCanvas team works, we might be seeing this incorporated into the Editor sooner than expected. PlayCanvas allows developers to toggle castShadows on GSplat entities, bringing volumetric splats into the same lighting system as traditional models. The result is more believable scenes where splats no longer float above their environment disconnected from shadowed surfaces, but instead contribute and respond to light in a cohesive way.
The team also tackled one of the trickiest challenges in real-time splat rendering: sorting. For compressed splat data in particular, correct draw order is critical, and previously, scenes with complex materials or deep transparency, like those using MCMC, could fall apart under motion. In this update, PlayCanvas introduces a histogram-based approach that builds a per-frame chunk ordering based on distance to the camera. Not only does this improve visual stability in heavy scenes, it has unexpectedly enhanced rendering quality in a broader range of use cases. While the new approach is slightly more demanding on the CPU, the payoff in image clarity and consistency more than justifies the cost.
Depth rendering has also been upgraded. GSplat shaders now output linear depth information during the engine’s depth prepass, which is essential for enabling sophisticated post-processing effects like depth of field and temporal anti-aliasing.
Compression has also been stepped up, with using Self Organizing Gaussians (SOGS). This is the same method that Nerfstudio uses for their ply compression.
Another subtle but critical enhancement involves PlayCanvas’s multi-app architecture. Previous GSplat implementations relied directly on low-level graphics device references. With version 2.7, all GSplat-related code now cleanly references AppBase, the core abstraction for PlayCanvas applications. This update future-proofs the engine for scenarios where multiple PlayCanvas apps run simultaneously.
PlayCanvas continues to be free to use and many of its components are open source. It can be accessed here!