Like other engines UE4 should have localized cubemaps instead of skylight. Having a skylight placed in a level is wrong from scratch.
The idea behind SSR in every engine is to give you real time ish reflections and blend into a cubemap as the camera is tilted so you wouldn’t notice a hard falloff while SSR is fading out. For that UE4 forces you to use a Skylight with SLS Captured Scene and an intensity of 1.
You notice only when your Skylight intensity is set to 1 you have acceptable results as your camera is tilted down. While this provides decent results in this particular test, it doesn’t work for most cases.
A quick look at why Skylight should be removed and localized cubemaps should be added to the engine.
1. Skylight applies the sky color uniformly everywhere equally and you can’t stop it from affecting interiors. On the other hand localized cubemaps only affect the selected radius. Every part of the game world can have it’s own localized cubemaps to get unique reflections and lighting that would correspond with what’s placed in that environment.
2. You generally don’t have to have an skylight with SLS Captured scene since that usually ends up giving you blue shadows. But if you end up loading a custom cubemap you’d not have a seamless transition between SSR and the cubemap.
3. You normally don’t want to have an skylight with an intensity of 1 since that lights up the shadows too much and doesn’t give you any freedom with lighting and controlling the darkness of your shadows. But by reducing the Skylight intensity you get a hard falloff where SSR fades out like shown above.
4. Below is an interior-like case. Sky is completely blocked by a large plane. you still get to see the sky on the floor because the plane that’s blocking the sky isn’t picked up by Skylight’s scene capture. This problem is like a plague for all your interiors. To fix that in UE4 you can add a Reflection Capture Sphere in your interior, but that doesn’t prevent the sky color from being applied to every inch of your interior which makes them useless. On the other hand if you had a localized cubemap actor placed inside your interior it would capture it’s surrounding only, not the sky, and you’d have reflections and lighting that correspond with everything that’s inside your interior, regardless of sky and the outside world.
To list the advantages of having localized cubemaps instead of Skylights:
1. No hard SSR falloffs.
2. Control how dark you want your shadows to be.
3. No uniform sky light. Each place in the game world can have it’s own cubemap/unique ambient light color and intensity.
4. Getting the light from localized cubemaps basically gives you fake G.I without needing to bake lighting (this is a huge plus for open world games).
etc.
Frostbite 3 uses localized cubemaps.
Cryengine 3/5 uses localized cubemaps. Crytek removed their skylight years go.
Unity also uses localized cubemaps.
In the end it’s a matter of convincing Epic to do the right move.