Godot introduces Lightmap GI shadowmasking
Today (12 Dec 2024) a lightmap shadowmasking feature , created by BlueCube3310 , was merged to the Godot’s upstream. It means that Godot 4.4 release will bring this feature for everyone. Check Godot blog for upcoming annoucements!
Lightmap shadowmasking
Lightmap Shadowmasking is a technique used in real-time rendering engines (like Unity , Unreal Engine , and now Godot ) to combine baked lighting with real-time shadows for efficient lighting calculations. It helps balance performance and visual fidelity by minimizing the number of real-time light calculations required during gameplay.
Here is a scene with shadowmasking set to “overlay” mode. There are distant shadows visible as with classic baking, but there are also dynamic shadows visible for moving objects. They are mixed toghether thanks to shadowmasking technique.

Without baking lights and shadows, only dynamic lights that have a limited distance will be rendered. In this case, all distant objects will not have shadows.

LightmapGI shadowmasking mode is exposed under Tweaks menu:

Why Use lightmap shadowmasking?
- Performance: It reduces the number of real-time shadow calculations.
- Quality: It offers high-quality lighting by combining precomputed lightmaps with dynamic shadows.
- Flexibility: Supports mixed lighting setups where static and dynamic objects coexist.
It is great for open-world or large-scale environments, indoor scenes with a mix of static and dynamic objects, or games targeting platforms with limited hardware resources.
Limitations
- Static-only Shadows: Shadows from static lights are baked and won’t update if the environment changes.
- Non-dynamic Lights: Static lights cannot move, change intensity, or color dynamically after baking.