Skip to main content

View a 3D Gaussian Splat Tileset with LODs in Cesium for Unreal

3D Tiles enables large photoreal Gaussian splat representations to be visualized at scale using level-of-detail (LOD) streaming capabilities. In this tutorial, you’ll learn how to load a 3D Gaussian splat tileset from Cesium ion, understand how LOD refinement works in Cesium for Unreal, and apply practical performance optimizations to your application for smooth interaction. 

3D Gaussian splat tileset of the Microsoft Redmond Campus, shown in Unreal Engine with Cesium World Terrain. Captured in partnership with Bentley Systems from 20,169 photos (427.7 gigapixels), covering approximately 3.7  square km with 110  million splats. This dataset is used as a reference for focusing the actor at the center of the viewport.

3D Gaussian splat tileset of the Microsoft Redmond Campus, shown in Unreal Engine with Cesium World Terrain. Captured in partnership with Bentley Systems from 20,169 photos (427.7 gigapixels), covering approximately 3.7  square km with 110  million splats. This dataset is used as a reference for focusing the actor at the center of the viewport.

You’ll learn how to: 

  • Connect to Cesium ion from Unreal Engine. 
  • Load a 3D Gaussian splat tiles dataset into a level. 
  • Configure LOD using screen space error. 
  • Monitor runtime performance using Unreal Engine stat commands. 
  • Apply Unreal Engine rendering settings to reduce GPU overhead. 

Prerequisites

  • Unreal Engine 5.5+ and Cesium for Unreal v2.24.0+. 
  • Know how to set up a basic Cesium for Unreal application. Check out our Cesium for Unreal Quickstart guide for instructions on starting with the Cesium for Unreal plugin. 
  • A Cesium ion account to stream assets into Unreal Engine. Sign up for a free Cesium ion account if you don’t already have one. 

(Optional) Create a Gaussian splat dataset in Cesium ion 

This tutorial assumes you have a Gaussian splat tileset available in your Cesium ion account. If you need to create one, follow the tutorial to create 3D reality models from photos.

 When exporting your dataset, select Gaussian splats as the output type. 

When exporting your dataset, select Gaussian splats as the output type. 

1Connect to Cesium ion

  • Open your Unreal project. 
  • From the Cesium menu, open the Cesium ion panel. 
  • Sign in to your Cesium ion account or paste your access token. 
Information

You’ll need a valid Cesium ion access token to stream your own datasets into Unreal Engine. Tokens are managed through your Cesium ion account. 

2Add a 3D Gaussian splat tileset to your level

In the Cesium ion Assets panel, locate your Gaussian splat tileset and click “Add to Level.”  

This creates a Cesium 3D Tileset actor in your scene that streams Gaussian splats at runtime. 

  • Select the Cesium 3D Tileset actor. 
  • Press F (Focus) to frame the dataset (or double-click the actor). 
  • Adjust the camera for your preferred viewing angle. 
In the Cesium ion Assets panel, locate your Gaussian splat tileset and click “Add to Level.”  

3Understand and adjust LOD loading using screen space error

Like other 3D Tiles datasets, LOD refinement for Gaussian splats is driven by screen space error (SSE). 

Screen space error is a metric that determines which LODs should be loaded for a given view at runtime. It is derived from geometric error—the quantified difference between a given LOD and the source data it was generated from. A full explanation can be found in the 3D Tiles specification

For this tutorial, it is enough to understand that it affects how much LOD is loaded at any point in the application. The Maximum Screen Space Error property is the threshold for which a Cesium 3D Tileset decides to load more detail. 

The Maximum Screen Space Error setting can be found in the Details pane in your Unreal Editor.

The Maximum Screen Space Error setting can be found in the Details pane in your Unreal Editor.

Maximum Screen Space Error has an inverse relationship with LOD. Higher values result in lower levels of detail staying in view for longer, which favors performance. Conversely, lower values force higher LODs to load, which increase visual fidelity at higher GPU cost. 

Common values for this property are: 

  • 24–64 for performance‑oriented interaction. 
  • 8–16 for higher‑quality inspection. 

4Monitor performance in Unreal Engine

Unreal Engine provides various tools out of the box to profile performance in your application. Open the in‑editor console (~) and run: 

  1. stat fps 
  2. stat unit 
Open the in‑editor console (~) and run stat fps and stat unit.
Information

Because Cesium for Unreal uses Niagara under the hood to render splats, you can also run “stat Niagara” to view the current memory consumption of the on-screen splats. This can help inform the Maximum Screen Space Error you choose, as well as other options to optimize your level for Gaussian splats. 

Performance tips for Gaussian splats in Unreal Engine

Gaussian splats use a custom rendering path in Cesium for Unreal that does not integrate or benefit from various features in Unreal Engine. Adjusting these settings may improve your level’s performance. 

Disable or reduce dynamic shadows 

  • Disable Cast Shadows on unnecessary lights. 
  • Prefer a single directional light when possible. 

Adjust lighting complexity 

  • Avoid multiple dynamic lights affecting the splat tileset. 
  • Use simpler lighting setups for inspection workflows. 

Reduce post‑processing cost 

  • Motion Blur 
  • Ambient Occlusion 
  • Depth of Field 

These effects do not improve splat quality and add GPU cost: 

  • Avoid continuous camera animation when inspecting detail. 
  • Increase Maximum Screen Space Error during navigation. 
  • Lower it only when evaluating fine detail. 
  • Use stat fps while adjusting settings. 
Information

These adjustments affect performance, not dataset quality. The underlying Gaussian splats are unchanged. 

Lighting expectations for Gaussian splats 

  • Color comes from view‑dependent data in the dataset. 
  • Dramatic lighting changes may not behave like mesh materials. 
  • Splats excel at photoreal detail, thin structures, and complex geometry. 

This is expected behavior. 

Next steps: bring your own data

  • Upload your own photo datasets to Cesium ion. 
  • Generate Gaussian splats with LODs. 

Troubleshooting

Tileset does not appear 

  • Confirm your ion access token is valid. 
  • Verify the asset is fully processed in ion. 

Performance is lower than expected 

  • Increase Maximum Screen Space Error. 
  • Reduce dynamic lighting and shadows. 
  • Monitor stat fps and stat unit. 

Resources

Content and code examples at cesium.com/learn are available under the Apache 2.0 license. You can use the code examples in your commercial or non-commercial applications.