Portal System

Portal System

Dynamic Lighting Portal System (Performance Booster)

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!

Youtube Demo Here

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 (like explained in the 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 a performance 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 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)!


- Update 1 : new features video :

  1. Added a way to exclude light components from system with "ExcludeFromPortalSystem" tag

  2. Added a way to rebuild system at runtime to support procedural levels

  3. Added a way to notify the system a light has moved

  4. Added a way to add new lights to the system during runtime

  5. Added the possibility to extend portal system from blueprints in order to support custom optimisation

    Can be useful for:
    • - Tick optimisation: You can make some of your blueprints tick only when they are in view
    • - Spawn enemies inside a zone when it's not in the view
    • - Many other things, be creative!

Classes

Portal System Manager
Portal System Occluder Component
Portal System Portal
Portal System Zone