Quick answer: Godot 4 shader with light_mode = Add not respecting Light2D occluders? Add mode skips the depth test - use Mix mode or pre-render the occluded area.

Glowing torch with light_mode Add bleeds through walls.

Use Mix mode

Respects occluders. Pre-multiplied alpha; same look without occlusion bypass.

Or stencil pre-pass

Mark occluded regions; shader respects.

Audit per light

Each light's mode and occluder respect. Mismatched expectations = the bug.

“Light modes have different occlusion semantics. Document each.”

If your lights bleed through walls, the light_mode is the suspect. Mix is the safe default.

Related reading