Hey everyone,
I’m currently building a real-time scene in Unreal Engine 5 for a VR project and I’m getting inconsistent frame rates, especially when multiple dynamic lights are involved.
I’ve tried switching to Lumen but I’m not sure if I’m using it efficiently, and I don’t fully understand when to use stationary lights vs movable lights.
Could anyone share their best practices for optimizing real-time lighting in UE5?
Would be great to know:
- How many dynamic lights are too many?
- How to balance between baked and dynamic lighting?
- Lumen settings for performance optimization
Thanks in advance!
If we take Stationary Lights as an example, the engine itself will not allow you to have more than 4 sources in one place…
For Movable - you’ll know when it’s too much - when your FPS drops below 30… 
If everything is baked, then the cost of light at runtime will be zero (almost).
Therefore, all sources must initially be Static and baked.
If light can hit a moving object (you need moving shadows), then it must be Stationary.
If the source itself must move, then it can only be Movable.
Disabling this feature is the surest solution to improve performance. 
- Bake all the lighting you can.
- For dynamic lights - reduce the radius of action (save the engine from unnecessary calculations).
- Turn off shadows on objects that have little effect on the image (but also consume resources).
- (?) Come up with a way to “trick” the player by creating the illusion of a picture, rather than creating one directly.
1 Like
Hi @willSon-xyz,
To add on to the advice above, Lumen does not work with static or stationary lights. Lumen will let you place stationary lights and theoretically bake the lighting, but all of this information will be thrown out in an actual build.
I would highly recommend switching to traditional baked lighting, as Lumen is a next-gen feature and it is never going to be optimized well for the current gen of VR.
That being said, I highly agree with all of @PREDALIEN’s advice. The key is to limit the amount of dynamic lighting and limit the amount of shadows cast by this dynamic lighting.
Best of luck!
Lumen does not support static lighting in the traditional sense. Lumen is a fully dynamic global illumination and reflections system, which means it calculates lighting and reflections in real-time, rather than relying on pre-baked lightmaps.
When Lumen is enabled, static lighting and lightmaps are essentially disabled, and the precomputed contributions are not used.
MegaLights may be a solution.