This package brings an old school lighting technique to Unity.
It is inspired by Tim Sweeney's lighting system in Unreal Gold and Unreal Tournament (1996-1999).
This lighting technique precomputes unique shadows for each light source, allowing dynamic adjustments such as color changes, flickering, or even water refraction. This level of realtime customization is not possible with Unity's baked lighting alone. It utilizes straightforward custom shaders similar to Unity's Standard shader and is compatible with the built-in render pipeline.
To raytrace the scene, meshes with shadows must be marked as static and must have a mesh collider.
High Quality Shadows | Volumetric Fog |
---|---|
Metallic PBR Workflow | Supports Progressive Lightmapper |
The main limitation of this technique is that lights with shadows cannot change their position. If they have to move, they become real-time lights that cast no shadows and can potentially shine through walls, if their radius allows for it. Depending on the use case and level design, this may never be a problem at all.
However, real-time shadows are supported and can be used sparingly to overcome this limitation.
Add the following line to your Unity Package Manager:
https://github.com/Henry00IS/DynamicLighting.git
When you bake individual reflection probes, without baking the rest of the scene, Unity may also create a small lightmap that messes up the UV1 coordinates when you enter play mode. You can fix this by disabling the baked global illumination in the lighting settings:
Feel free to join my Discord server and let's talk about it.
If you found this package useful, please consider making a donation or supporting me on Patreon. Your donations are a tremendous encouragement for the continued development and support of this package. 😁