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, volumetric effects, rotating spot lights, animated cookies, or even water refraction; all after baking the scene has already finished. This level of realtime customization is not possible with Unity's baked lighting alone (mixing the Progressive Lightmapper and this technique is supported). It utilizes straightforward custom shaders similar to Unity's Standard shader and is compatible with the built-in render pipeline (URP is supported with some limitations). The minimum Unity Editor requirement is 2021.2.18f1 up to and including Unity 6.1.
To raytrace the scene, game objects must be marked as static.
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
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. 😁
The Dynamic Lighting system enhances Gloomwood, a professional game by New Blood Interactive.
New Blood Interactive generously funded the development of custom features, including bounce lighting, to elevate Gloomwood's visuals. They permitted all features created for the game to be shared in this open-source project, empowering the Unity community and showcasing the system's capabilities in a commercial production.