
Michael Rubloff
Jul 27, 2025
A major update just landed for the VRChat Gaussian Splatting implementation, and while it breaks compatibility with earlier versions, it brings a list of improvements that make the extra effort worth it.
You can now presort your splats at import, making them fully portable and lightweight enough to use even on avatars. The .ply
importer has been reworked to handle multiple files at once and automatically generate prefabs with the necessary materials and meshes already in place. You can also toggle off sRGB color correction to save on performance (at the cost of some visual accuracy) and choose to enable multi-chunk rendering.
There’s also the option to insert an alpha stencil mask between chunks, which helps cut down on overdraw. And if you want faster performance without relying on real time sorting, you can now enable presorting during import.
Instead of sorting splats by camera distance on the fly, the new presort mode organizes them ahead of time along 20 octahedral directions and stores that data in a texture. This approach works anywhere, even outside the GaussianSplatRenderer component. Presorted splats can’t dynamically re-sort as the camera moves, so you’ll notice some popping when rotating the view. But the upside is a much simpler rendering pipeline with lower overhead.
As a reminder, this version is not backward-compatible, but is still an exciting update. You’ll need to re-import any .ply
files and use the new example scene included with the update. The latest version can be found here on GitHub.