Lit
Drop-in 2D lighting for Godot 4 - with no light limit. (Docs)
Lit is an alongside replacement for Godot's built-in 2D lights. It keeps the parts you like (add a node, set some values, done) and fixes the part you don't: the hard cap of ~15 lights per object. Light a whole scene with as many lights as you want, get real soft shadows, and stack on a pile of post-processing - all without leaving the node workflow.
If you like Lit, leave us a review on the Asset Store!
Requires Godot 4.4+ on the Forward+ renderer. (Mobile/Compatibility aren't supported.)
Support
Lit is made and maintained by Fading Lantern Games. Questions, bugs, or just want to show off what you built? Come hang out in our Discord:
→ https://discord.gg/nfqeRGnM7P
Prefer videos? Subscribe on YouTube:
→ https://www.youtube.com/@FadingLanternGames
Quickstart (Lit Docs)
- Enable the plugin. Project → Project Settings → Plugins → turn on Lit. Reload the project if Godot asks.
- Make it dark. Add a
LitCanvasModulatenode to your scene and set its color to something dark. Your world is now in shadow, waiting to be lit. (Use this instead of Godot'sCanvasModulate, not alongside it.) - Let your art catch light. Either drop in a
LitSprite2D(comes ready to go), or select existingSprite2D/TileMapLayer/ other 2D nodes and run Project → Tools → Make Selected Nodes Lit. - Add a light. Drop a
LitPointLight2Dover your art and watch it light up. Tweak color, energy, and range to taste. - Want shadows? On the light, tick Shadow Enabled. Then give the world something to
block the light: add a
LightOccluder2Dto a sprite, or for tiles enable SDF Collision on your TileSet's occlusion layer. - Want a look? Add a
LitPostProcessnode and switch on bloom, color grade, CRT, or any of the other effects.
That's it — everything updates live in the editor as you build.
What you get
- Uncapped lights & Shadows. No 15-light limit. Use as many as your scene needs.
- Three light types. Point, Directional (a sun), and Spot (a cone).
- Soft or hard shadows. One slider per light, from razor-sharp to feathery.
- Normal maps & specular, free. Reads them straight from your
CanvasTexture— no wiring. - Darkness & ambient. One
LitCanvasModulatenode sets the mood for the whole scene. - Light masks. Make a light affect only the things you want it to.
- Negative lights. Flip a light to subtract to carve pools of extra darkness.
- Works on any 2D node. Sprites, tilemaps, polygons — if it draws, it can be lit.
- Live in the editor. See your lighting while you build, no need to hit play.
- 20+ post-processing effects on a single node: bloom, color grade, LUT presets, vignette, CRT, VHS, film grain, chromatic aberration, posterize, pixelate, halftone, dither, outline, halation, letterbox, lens distortion, light leaks, glitch, and a focus/blur-to-sharpen dial.
The nodes
| Node | What it does |
|---|---|
LitPointLight2D |
A light that shines in all directions from a point. |
LitDirectionalLight2D |
A sun — parallel light across the whole scene. |
LitSpotLight2D |
A cone of light you can aim. |
LitCanvasModulate |
Sets the scene's darkness/ambient color. |
LitSprite2D |
A Sprite2D that's already set up to receive light. |
LitPostProcess |
The post-processing stack (bloom, grading, CRT, and friends). |
Good to know
- A Lit-lit object is lit only by Lit; a normal object is lit only by Godot's built-in
Light2D. The two systems live side by side, so you can convert a project piece by piece. - For tilemaps to cast shadows, the TileSet's occlusion layer needs SDF Collision turned on (it's off by default).
Contributing
Lit is open source and we'd love the help. Found a bug, have an idea, or want to build out a feature? Open an issue or pull request on GitHub:
→ https://github.com/shawndeprey/lit
Want to talk an idea through first? The Discord is the quickest way to reach us.
License
Lit is free and open-source under the MIT License — use it in anything, commercial or
not, no credit required. See the LICENSE file for the details.
Changelog for version v1.0.4
No changelog provided for this version.
Reviews
Well made!
This addon is #lit
Really excited about this; especially because of the point light limit increase. Love the shaders too!
One of Godot's problems when it comes to 2D graphics is its weird lighting system (it's so strange that there's no Spot Light 2D like in Unity, there's a limit of 15 light sources, etc.). For me, the biggest headache is self-shadowing. And... this plugin solves that problem with a single checkbox. And of course, the fact that it removes the restrictions on light source limits. Great plugin.
Login to write a review.