This page is an AI translation of the Japanese original. If anything differs, the Japanese version prevails.

Tools

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

  1. 3DGS is rendered into the GBuffer and can be relit under UE's standard lights, Lumen GI and shadows
  2. Shadows go through Virtual Shadow Maps and need no proxy mesh, but they are cast as opaque ellipsoids
  3. A PLY with normals is required. The training pipeline is limited to non-commercial use, while the plugin itself is MIT-licensed
Contents
  1. What happened
  2. How it works
  3. By the numbers
  4. Why it matters
  5. How to try it
  6. Caveats and open questions
  7. Glossary
  8. Sources

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 engineUnreal Engine 5.7 or later
Build environmentVisual Studio 2022 or later (build from source)
LicenseMIT (beta)
Default splat count limit5,000,000 (can be extended with r.Gaussians.MaxSplats as far as VRAM allows)
Performance statement in READMEDescribed as high-performance rendering that can handle more than 10M splats
Required inputPLY with per-splat normals (metallic/roughness optional)
Training pipeline requirementsNVIDIA RTX 20–50 series, A100, H100, H200 / Linux or WSL2
Training pipeline usage termsNon-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

  1. Prepare UE 5.7 or later and Visual Studio 2022 or later
  2. Place StarLightGS from the GitHub repository into your project's Plugins folder
  3. Regenerate the Visual Studio project files from the .uproject, open the .sln, and build with F5
  4. Import a PLY via Import in the Content Browser and place it in the viewport
  5. 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)

Coverage and commentary

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.)

Get it by email

We send the latest issue every 3 days at 7:00 JST (in Japanese).

The newsletter is sent in Japanese only. You can subscribe on the Japanese page.