The Dynamic Lighting Portal System provides an easy way to optimize dynamic lighting performance in large levels. Optimization is the key!
Unreal Engine culling is great, but when it comes to dynamic lights, there is still a lot of improvements that can be made.
This tool allows you to get a massive performance boost without any quality loss!
The portal system toggles lights visibility to true only when you can see them, tremendously improving the performance. The performance gain will depend on your level layout and number of dynamic lights.
All you need to do is setup portals and zones. I am explaining it in detail in this video tutorial
All the lights, and this include point lights, spot lights and all the lights attached in blueprints inside a zone will be set to visible when:
1) You are inside the zone
2) The zone is visible through a portal
The portal visibility check is based on Unreal Engine built in HZB occlusion, so it's extremely fast and efficient performance wise.
To give you an idea, we have tested in levels from 4000 to 25 000 actors, with 50 to 500+ dynamic lights, more than half of them casting shadows. Volumetric lighting enabled.
We're getting 30 to 60% performance improvement with this system, making them playable on a low end gaming computers (8 years old i7 950 processor and GTX 950 graphic card).
All that in Epic settings for everything except shadow (high)
/!\ UE 5 info /!\
due to the nature of Lumen, and lights affecting more than their default area, setting up the system may be harder in some cases
For support or any questions, please contact us at [email protected].
If you post a comment here, we aren't notified and can't answer you quickly. Thank you!
Features:
* Provide tools to optimise Dynamic lighting performances
Changelog :
Older change logs: Here
V1.5
1) Added Full Support for OpenWorld and Level Streaming
V1.6
1) Added support for local multiplayer
V1.7
1)Improved code quality ( struct copy + array realloc )
2)Improved doc ( zones colors )
3)Added logs options to allow easier understanding of current system state
V1.7.4
1) Fixed an initialization bug that disabled the optimisation
2) Fixed a detection bug that made some configuration no working as intended
Online Documentation is available here ( with update 1.1 review video + 1.5 level streaming exemple)
Code Modules:
*PortalSystem Module [Runtime]
Num of Blueprints: 7
Num of C++ Classes: 6
Network Replicated: No
Supported Development Platforms: All
Supported Target Build Platforms: Windows Mac Linux ( Should work on any platform using frustum and occlusion culling, we just haven't been able to test it)
Documentation: included in plugin : PortalSystem\Doc\index.html
Example Project: An example map is provided inside the plugin
Important Notes: Performance gain will vary depending on level design and type of level (indoor / outdoor)