This page is an AI translation of the Japanese original. If anything differs, the Japanese version prevails.
CoSTAR National Lab Releases StarLightGS, an Open-Source Plugin for Relighting 3DGS in UE5.7
CoSTAR National Lab has released StarLightGS, a plugin for Unreal Engine 5.7 and later, as a beta under the MIT license. It renders 3DGS into the GBuffer and relights it with the engine's standard lights and shadows.
This article was generated by AI and published automatically without prior human review.
- Announced
- 2026.11.06 (local time)
- Use cases
- Games, Production, XR
- Sources
- 2 (en) (1 primary)
Key points
- 3DGS is rendered into the GBuffer and can be relit under UE's standard lights, Lumen GI and shadows
- Shadows go through Virtual Shadow Maps and need no proxy mesh, but they are cast as opaque ellipsoids
- A PLY with normals is required. The training pipeline is limited to non-commercial use, while the plugin itself is MIT-licensed
Contents
What happened
CoSTAR National Lab has released StarLightGS, a 3D Gaussian Splatting (3DGS) renderer for Unreal Engine 5.7 and later, on GitHub. It is licensed under MIT and is in beta. The plugin is described as focusing on relighting and on native shadow rendering that does not use proxy meshes.
How it works
StarLightGS renders relightable splats directly into the GBuffer. The GBuffer is an intermediate buffer holding shape and material information that Unreal's lighting and post-processing refer to. This lets the engine's built-in lights act on the splats, which also receive shadows from meshes and Lumen global illumination. An example of an emissive mesh lighting nearby splats is also given. Splats also contribute to screen-space reflections, and relighting is said to work with both Substrate and the legacy material pipeline.\n\nShadows are handled with Virtual Shadow Maps (VSM). The splat geometry is passed to the shadow pipeline as a mesh batch, and one quad per splat is reconstructed for each light. This lets splats cast shadows on meshes, on other splats, and on themselves.\n\nThe input must be a PLY with per-splat normals; metallic and roughness channels are optional. Box and sphere clip regions can be used to crop and split splats, and the results can be exported as new assets. PLY export lets you choose between the original coordinate system and the Unreal coordinate system.\n\nTo create the relightable PLY, you use "starlightgs-training", a Docker-based derivative of GS-IR. It processes photos or video with COLMAP, and albedo, ro
By the numbers
| Supported engine | Unreal Engine 5.7 or later |
|---|---|
| Build environment | Visual Studio 2022 or later (build from source) |
| License | MIT (beta) |
| Default splat count limit | 5,000,000 (can be extended with r.Gaussians.MaxSplats as far as VRAM allows) |
| Performance statement in README | Described as high-performance rendering that can handle more than 10M splats |
| Required input | PLY with per-splat normals (metallic/roughness optional) |
| Training pipeline requirements | NVIDIA RTX 20–50 series, A100, H100, H200 / Linux or WSL2 |
| Training pipeline usage terms | Non-commercial only, because the Inria rasterizer is bundled |
Why it matters
In games and video production, 3DGS captured from real scenes can now be placed in dynamic lighting. For prototypes such as day-night switching or virtual production with moving lights, this adds the option of treating 3DGS as part of the scene rather than as a baked background image.\n\nBecause it is published as an MIT-licensed plugin, it is easy to embed in in-house tools or modify. However, the training side that produces the relightable PLY is limited to non-commercial use, so commercial projects will need to consider a separate way of producing the assets.
How to try it
- Prepare UE 5.7 or later and Visual Studio 2022 or later
- Place StarLightGS from the GitHub repository into your project's Plugins folder
- Regenerate the Visual Studio project files from the .uproject, open the .sln, and build with F5
- Import a PLY via Import in the Content Browser and place it in the viewport
- Check the sample project for a working example. If you exceed 5M splats, increase r.Gaussians.MaxSplats in DefaultEngine.ini
Caveats and open questions
- Because the GBuffer holds only opaque surfaces, splats that are relit are rendered as opaque. Edge artifacts are designed to be suppressed with r.Gaussians.AlphaCutoff.
- Splats do not enter the Lumen scene and do not cast global illumination onto other objects.
- Ray tracing is not supported, so ray-traced shadows, MegaLights and hardware Lumen cannot be used.
- VSM does not support translucent shadows, so shadows are cast as opaque ellipsoids and have hard edges. The cost increases in proportion to the number of shadow-casting lights.
- It is a beta, and actual rendering quality and speed in real projects cannot be confirmed from the available materials. The performance with more than 10M splats is also a repository description, and the conditions are not disclosed.
- The star count shown on GitHub is 10, so this is right after release.
Glossary
- GBuffer
- An intermediate buffer in deferred rendering that holds per-surface information such as normals, albedo and roughness.
- Virtual Shadow Maps
- Unreal Engine 5's high-resolution shadow system.
- Lumen
- Unreal Engine 5's dynamic global illumination feature.
- Substrate
- Unreal Engine's new material framework.
- GS-IR
- A method that estimates normals and materials from 3DGS and performs inverse rendering. It is the basis of StarLightGS's training side.
Sources
Primary sources (publisher, paper, repository)
- CoSTAR-National-Lab/starlightgsGitHub(github.com)・en
Coverage and commentary
- StarLightGS for Unreal Engine 5.7 Relights Gaussian SplatsRadiance Fields(radiancefields.com)・en
The X post that surfaced this story
This article was generated in Japanese by AI from the sources listed (primarily primary sources) and published automatically, without prior human review, after automated checks such as source matching (how we use AI). Figures and specifications are as stated by the publishers and have not been independently verified by us. Please consult the original sources. To report an error, use our contact form; we will review it promptly and correct it. This page is an AI translation of the Japanese original. If anything differs, the Japanese version prevails. Japanese original
From the operator3DGS Universal Viewer(3Dasset.io)(IZUTSUYA Inc.)