The 3D Handbook
Topic

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-splattingcaptureradiance-fieldsrenderingemerging-tech

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

  1. 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.
  2. Camera solve. Software works out where each photo was taken. The method starts "from sparse points produced during camera calibration" (Kerbl et al. 2023).
  3. 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).
  4. 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).
Left, a simple polygon made of grey triangles labelled mesh. Right, a cloud of overlapping translucent green ellipses of different sizes and angles, with one outlined in orange, and a list of what each splat stores: position, shape as scale and rotation, colour and opacity.
A mesh describes surfaces with edges; a splat scene is a cloud of soft, overlapping ellipsoids. Each splat stores a position, a shape, a colour and an opacity.Diagram by the handbook author

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

#Further reading and watching

The video linked from the paper's project page; a quick way to see what captured splat scenes look like in motion. Watch on YouTube

References

  1. Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis · 3D Gaussian Splatting for Real-Time Radiance Field Rendering · ACM Transactions on Graphics 42(4), SIGGRAPH 2023, 2023 · paper · accessed 2026-10-21
  2. PlayCanvas · What is Gaussian Splatting? · PlayCanvas Developer Site, 2026 · docs · accessed 2026-10-21
  3. The Khronos Group · Khronos announces glTF Gaussian Splatting extension (press release) · khronos.org, 2026 · article · accessed 2026-10-21
  4. Zak Killian · 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
  5. Aras Pranckevičius · Gaussian Splatting playground in Unity (README) · GitHub, 2023 · tool · accessed 2026-10-21
  6. World Labs · Gaussian splats in Unreal Engine · World Labs Marble documentation, 2026 · docs · accessed 2026-10-21
  7. 80 Level · All-in-one plug-in for Unreal Engine 5 to Gaussian splatting · 80 Level, 2026 · article · accessed 2026-10-21

Last updated 2026-10-22