Gaussian splatting
What 3D Gaussian splatting is, how captured photos become millions of soft ellipsoids, real performance and memory numbers in Unity, the state of Unreal plug-ins and the glTF standard, licensing traps, and where splats do and do not fit in game production.
Gaussian splatting represents a scene as millions of small, soft, coloured ellipsoids called splats instead of triangles, usually created automatically from photos of a real place or object. The technique became widely used after a 2023 SIGGRAPH paper by Kerbl and colleagues, which represented scenes "with 3D Gaussians" and achieved "high-quality real-time (≥ 100 fps) novel-view synthesis at 1080p resolution" (Kerbl et al. 2023).
For game artists it sits somewhere between photogrammetry and a photograph: captures look realistic from any angle, but they are hard to light, animate, edit or collide with. This page explains how splats work, what they cost, how to get them into engines, and where they fit today.
#How it works
- Capture. You take many photos or a video around a subject. As with photogrammetry, coverage and sharp images matter most. See photogrammetry and scanning tools.
- Camera solve. Software works out where each photo was taken. The method starts "from sparse points produced during camera calibration" (Kerbl et al. 2023).
- Training. An optimiser turns those points into Gaussians and refines them until renders match the photos. It adds and removes Gaussians as it goes ("interleaved optimization/density control") and optimises each one's anisotropic shape (Kerbl et al. 2023).
- Rendering. Each frame, the splats are sorted by depth and blended on the GPU, using "a fast visibility-aware rendering algorithm that supports anisotropic splatting" (Kerbl et al. 2023).
PlayCanvas lists what each splat stores: a position, a covariance matrix that "defines the size, orientation, and shape of the ellipsoid", a colour and an opacity (PlayCanvas Developer Site: What is Gaussian Splatting?). Khronos's draft glTF extension stores the same idea as position, orientation, scale, colour and opacity (khronos.org: Khronos announces glTF Gaussian Splatting…).
#Strengths and weaknesses of splats
Good at: capturing real places quickly, from photos, with little manual modeling. PlayCanvas names "real-world scene capture", product visualisation and virtual tourism as ideal uses (PlayCanvas Developer Site: What is Gaussian Splatting?).
Bad at (according to PlayCanvas) (PlayCanvas Developer Site: What is Gaussian Splatting?):
- "Animated content - Each frame would require separate training"
- "Procedural geometry - Traditional meshes are more flexible for generated content"
- "Interactive objects - Editing and deformation are challenging"
Lighting is another major limit. A capture records the light that was there on the day. A 2026 browser shooter built from a scanned building showed the problems: splats "don't capture anything about the world except how it looks", the lighting "doesn't apply very well to the characters, and there aren't any shadows", and low-quality up-close detail "will continue to be a challenge" (Tom's Hardware: Developer creates a basic first person…).
#Performance and memory
Splat scenes are large. Aras Pranckevičius's open-source Unity viewer gives detailed numbers for one standard test scene (GitHub: Gaussian Splatting playground in Unity):
| Measure | Value |
|---|---|
| Scene | "Bicycle", 6.1 million splats, Medium quality |
| Asset size | 282 MB |
| Frame time, Windows, RTX 3080 Ti | 6.8 ms (147 fps): 4.5 ms rendering, 1.1 ms sorting, 0.8 ms view calculation |
| GPU memory | 1.3 GB (the official viewer used 4.8 GB) |
| Frame time, Apple M1 Max (Metal) | 21.5 ms (46 fps) |
| Extra GPU memory for sorting and view data | About 48 bytes per splat |
The same project also shows the effect of compression: a "Very Low" preset capture came in under 8 MB (GitHub: Gaussian Splatting playground in Unity).
#Getting splats into engines
| Engine | Options (as of 2026) | Notes |
|---|---|---|
| Unity | Aras Pranckevičius's open-source viewer (GitHub) | Renders trained PLY or SPZ files; D3D12, Vulkan or Metal, not DX11; author not planning major development since December 2023 |
| Unreal Engine | Third-party plug-ins rendering through Niagara: VIVE Mars Nova (private beta, UE 5.4–5.6), Volinga (paid; relighting), Akiya (Fab purchase; lit, masked and shadow-casting modes), Postshot (needs its own app) (World Labs Marble documentation) | Luma and XVerse are free but unmaintained; XVerse downsamples and shows artefacts |
| PlayCanvas (web) | Splat scenes run in the PlayCanvas engine, as in the browser shooter (Tom's Hardware) | Also makes the SuperSplat editor (PlayCanvas Developer Site) |
Capture tools are also being developed. The Unreal plug-in Atlux, for example, generates camera volumes and COLMAP data inside Unreal for training in tools such as Postshot and LichtFeld Studio (80 Level: All-in-one plug-in for Unreal Engine 5 to…).
#File formats and standards
The original paper's output is PLY files; the compressed SPZ format from Scaniverse is also supported by tools such as the Unity viewer (GitHub: Gaussian Splatting playground in Unity). In February 2026 Khronos released KHR_gaussian_splatting as a release candidate glTF extension, with ratification expected in Q2 2026 (khronos.org: Khronos announces glTF Gaussian Splatting…). It stores splat attributes in glTF 2.0, falls back to a point cloud in viewers without splat support, and was developed with contributors including Autodesk, Cesium/Bentley Systems, Esri, Huawei, Niantic Spatial, NVIDIA and XGRIDS (khronos.org: Khronos announces glTF Gaussian Splatting…). Compression extensions (Niantic's SPZ and Qualcomm's L-GSC) were proposed alongside it (khronos.org: Khronos announces glTF Gaussian Splatting…). Check its current status before relying on it. See 3D file formats.
#Common mistakes
- Expecting to relight a capture. The lighting is baked into the colours, as in the browser shooter (Tom's Hardware: Developer creates a basic first person…).
- Ignoring splat count. Memory grows with every splat (GitHub: Gaussian Splatting playground in Unity).
- Capturing for close-ups. Up-close detail is still a weak point (Tom's Hardware: Developer creates a basic first person…).
- Forgetting collision and navigation. Splats have no surfaces; you need proxy meshes (Tom's Hardware: Developer creates a basic first person…).
- Shipping with a non-commercial trainer. Check licences (GitHub: Gaussian Splatting playground in Unity).
#Further reading and watching
References
- · 3D Gaussian Splatting for Real-Time Radiance Field Rendering · ACM Transactions on Graphics 42(4), SIGGRAPH 2023, 2023 · paper · accessed 2026-10-21
- · What is Gaussian Splatting? · PlayCanvas Developer Site, 2026 · docs · accessed 2026-10-21
- · Khronos announces glTF Gaussian Splatting extension (press release) · khronos.org, 2026 · article · accessed 2026-10-21
- · Developer creates a basic first person shooter game using Gaussian splats, and you can play it for free in your browser · Tom's Hardware, 2026 · article · accessed 2026-10-21
- · Gaussian Splatting playground in Unity (README) · GitHub, 2023 · tool · accessed 2026-10-21
- · Gaussian splats in Unreal Engine · World Labs Marble documentation, 2026 · docs · accessed 2026-10-21
- · All-in-one plug-in for Unreal Engine 5 to Gaussian splatting · 80 Level, 2026 · article · accessed 2026-10-21
Pages that link here
- Photogrammetry and scanning tools Reference
- Virtualised geometry (Nanite) Topic
Last updated 2026-10-22