Quick answer: Godot 4 CanvasModulate dimming the whole scene also dimming Light2D output? Modulate multiplies all canvas colors including lights - light_mode = Replace bypasses.

Day/night via CanvasModulate. At night, even torches dim. Want torches to stay bright.

Set light_mode Replace

Light2D's shader light_mode > Replace. Skips the canvas modulate; bright as configured.

Or use color compensation

Boost Light2D energy proportionally to modulate's dim. The torch stays the same brightness relative to scene.

Layer-based modulate

Apply CanvasModulate to ambient layer only. Lights on a different layer aren't affected.

“CanvasModulate is multiplicative across everything. Lights need to opt out.”

Build the day/night cycle around layers. Ambient layer dims; light layer doesn't. Cleaner architecture.

Related reading