From file to viewport in a few steps.
- 1Enable WallGS
In Unreal, open Edit → Plugins, find WallGS, enable it, and restart the editor if Unreal asks.
- 2Import your file
Drag a
.plyor.sogfile into the Content Browser, or use Import. WallGS creates a reusable Gaussian Splat asset. - 3Add it to the level
Drag the new asset from the Content Browser into the viewport. It becomes a WallGS actor that you can move, rotate, and scale like any other Unreal actor.
For PLY, use a standard binary little-endian 3D Gaussian Splat file. For SOG, WallGS supports the current v2 format.
Unreal's TSR anti-aliasing can introduce motion-blur-like smearing on Gaussian splats. For the clearest result, WallGS highly recommends changing Project Settings → Engine → Rendering → Default Settings → Anti-Aliasing Method to FXAA.
Forward Shading is not currently supported. Use Unreal's deferred rendering path with WallGS.
Your splat actor.
After placing an asset, select the actor and use its Gaussian Splat component in the Details panel. Transform controls work as they do for every Unreal actor. The controls below change how the selected asset is displayed.
Splat Asset
The Gaussian Splat asset this actor displays. Swap it to reuse the same position and settings with a different scan.
Splat Scale
A separate size multiplier for the splat itself. Keep it at 1.0 for the imported size; increase or decrease it when you need a fast visual fit.
Enabled
Shows or hides the splat actor without removing it from the level. Useful for quick comparisons.
Make the scan look right.
WallGS works with Unreal’s normal post-processing pipeline. Use a Post Process Volume for exposure, color grading, and tone mapping; use these controls for view-dependent splat appearance.
SH Degree 0–3
Controls view-dependent detail, such as subtle highlights that move as you move the camera. 3 keeps the most information. Lower it to reduce work or to make the look more neutral.
SH Strength 0–2
Sets how strongly view-dependent color is visible. Reduce it if reflections or changing colors feel distracting; set it to 0 for a steadier, diffuse look.
For brighter or darker splats, color grading, contrast, gamma, or tone mapping, add and configure an Unreal Post Process Volume. This gives WallGS the same scene-wide final-image controls as the rest of your level.
Spend detail where it matters.
WallGS can automatically simplify distant splats while keeping nearby areas full quality. This is the best place to start when a large scan needs a smoother viewport or runtime frame rate.
Adaptive Density
Turn this on to automatically show fewer splats in distant areas. It is enabled by default and is the recommended setting for most scenes.
Adaptive Detail 0–100
Sets how much distant detail is retained. Lower values favor performance; higher values preserve more of the original scan. Start around 80.
Full Density Distance cm
The distance around the camera that always stays at full density. Increase it when an important area starts looking simplified too close to the camera.
Splat Budget
The upper limit on splats WallGS will draw. Raise it for quality when the GPU has headroom; lower it to put a firm ceiling on rendering work.
Advanced performance controls +
Minimum Projected Radius — skips splats that would be extremely small on screen. Raising it can help performance, but may remove fine distant detail.
Minimum Density — the lowest fraction of source splats retained in distant visible areas. A higher value is safer for detail; a lower value saves more work.
Maximum Density Level — caps how aggressively automatic density reduction can simplify an area. Keep the default unless you are deliberately tuning a large scene.
Density Footprint Expansion — slightly enlarges remaining splats as density falls, helping reduce visible gaps. Use sparingly.
Adaptive SH Quality — also reduces view-dependent shading work when density has already been lowered. Enable it when performance matters more than distant reflective detail.
Make the scan usable.
Gaussian splats are visual data. WallGS can turn that data into a Static Mesh with complex collision, so your scan can support traces, placement, physics queries, and player movement.
- 1Select the splat actor
Choose the WallGS actor in the viewport or Outliner.
- 2Choose a preset
In Collision Generation, choose Indoor, Outdoor, or Object. Begin with the preset that best matches the scan.
- 3Generate Collision
Press Generate Collision. WallGS creates a Static Mesh asset and attaches it to the actor. You can find the generated asset beside the source splat (or under
/Game/WallGS_Collisionwhen needed).
The balanced default for rooms, corridors, and architectural scans. Uses 10 cm voxels to preserve walls and walkable surfaces.
For large environments. Uses a coarser 25 cm grid to cover more ground with a lighter mesh.
For props and smaller captures. Uses a fine 5 cm grid to hold onto more local shape.
Place one or more WallGS Collision Volume actors and resize their box components before generating collision. When volumes exist, WallGS generates only inside those boxes—ideal for limiting a large scan to the playable space.
When a preset needs help.
Changing any individual collision setting switches the preset to Custom. Make one small adjustment at a time, regenerate the mesh, and test the result in the viewport.
The size of each block used to build the collision mesh.
Lower for more detail; raise for faster, simpler collision.
How far each splat contributes to the collision shape.
Raise it to close thin gaps; lower it if surfaces become too thick.
Ignores splats that are too transparent.
Raise it to remove floating noise; lower it when genuine surfaces are missing.
How much splat presence is needed before a voxel becomes solid.
Raise it to make collision more selective; lower it to fill weak or sparse scan areas.
How many cleanup passes try to bridge small holes.
Increase when surfaces are broken; reduce if gaps are being closed incorrectly.
Extra repair for broad, flat surfaces such as floors.
Increase for patchy floors; lower it if unwanted bridges appear.
Removes disconnected pieces below this size.
Raise it to remove noise; lower it to keep small valid objects.
A safety limit on the collision generation grid.
Raise it only for very large or very fine captures; use volumes or larger voxels first.
A few good defaults.
My scan is too heavy.
Keep Adaptive Density on, lower Adaptive Detail a little, then lower the Splat Budget if you need a firmer performance limit.
My collision is too rough.
Try the Object preset for a small asset, or reduce Voxel Size one step at a time. Smaller voxels take longer and create more geometry.
My floor has holes.
Use the Indoor preset first. If needed, lower Density Threshold slightly or add a Planar Cleanup Pass, then regenerate.
I only need collision in one room.
Add and scale a WallGS Collision Volume around that room before generating. It keeps the result focused and avoids processing the whole scan.
Is VR supported?
PCVR has been tested and works, but current performance is not yet suitable for a recommended experience. Better PCVR support and performance are planned for a future update.