The state of Dynamic Lighting in UE4

Hello everyone!

Long time lurker of the forums, I’ve just recently released my first game (not made in UE) and I’m looking at UE for a potential next project.

I’ve read a lot of things on these forums, but there is still stuff I’m unsure about, so I figured I’d just ask and maybe some of you guys would be kind enough to fill me in :slight_smile:

The thing I can’t seem to fully understand at this time, no matter how much I read on the forums & in the documentation, is the current state of dynamic lighting in UE4.

In short, my question would be; would it be conceivable to make a game without baking any lights? I’m aware (correct me if I’m wrong) that there currently isn’t an official/usable real time GI solution, but depending on the art style that isn’t necessarily critical. Other than that, what would the limitations be? Let’s assume a large, open map with a day/night cycle, is a no-baking lighting system conceivable in these conditions? Other dumb questions come to mind, Is AO possible without baking, etc… Feel free to add any info you feel is relevant :slight_smile:

I’ve had a lot of fun with UDK back then and I’m really looking forward to working with UE4.

Thanks in advance for your answers, and good luck to all in your respective endeavors.

Best! :smiley:

Fortnite uses fully dynamic lighting, since it needs day/night cycles and movable geometry, so yes, it’s possible.

You’re going to want to look into Distancefields. They allow for large scale AO and other effects that can be very useful for dynamic lighting.

You’re right that there’s no official GI right now, but I wouldn’t say that there isn’t usable GI. It depends on how willing you are to get your hands dirty. Nvidia’s VXGI is available for unreal and super easy to set up, but getting good enough performance out of it can be a pain. RyanTorant’s AHR is a community made solution, and while it isn’t as easy to set up, it’s very, very fast. Both solution s run on any DX11 GPU.

VXGI:

AHR:

If you don’t want to mess with this unofficial stuff, you can still get fantastic results just with distancefield AO and shadowing.

Another thing I feel that should be noted is that Unreal 4.13 is adding in cached shadows, which will allow for shadow casting movable lights to have little to no performance hit on static geometry. If you plan on having a lot of shadow casting lights, you may want to hold off a few weeks for this update.

There are plenty more things to look at, but these are the three things I would start with. Welcome to the community!

In short, yes, but you have to be a little clever about it.

Fully dynamic lighting can get expensive very quickly, especially if you have a lot of lights in the same overlapping space, but you can optimize and style your maps around that. UE4 also includes a “baked dynamic” light type, called a Stationary light, which can deliver some of what might be needed from an otherwise dynamic light source at a fraction of the performance hit.

I think I did read that before, thanks for the heads up. Fortnite achieves very cool visuals, knowing it’s fully dynamic is very encouraging :slight_smile:

Thanks for the detailed answer!

When I said “there isn’t a usable GI solution” I meant performance wise regarding VXGI. As far as AHR is concerned, I don’t really mind working with unofficial stuff as long as it’s functional, but it’s true that it can get tricky when you start working outside of what the engine natively offers. I’ll definitely check out Distancefields, it looks super interesting.

Cached shadows sound very interesting too, but aren’t we talking baked l ighting here though?

Again, thank you so much :slight_smile:

Thanks for your answer and advice!

Stationary Lights imply baking though, right? The point was trying to avoid baked lighting altogether, if at all possible.

Thanks for your answers everyone! :slight_smile: Please don’t hesitate to add info you think is relevant, and I’ll do the same once I’ve documented myself enough on the matter.

Cheers!

No. Cached shadows is a new feature in 4.13 that allows movable lights to only have to render shadows on static objects once (at least, that’s how I understand it). It’s another tech that was developed for fortnite. The idea is that even though fortnite is fully dynamic, there still isn’t much moving around, so all of the dynamic lights “cache” the shadowing data until something changes. Effectively this means that there’s no cost for dynamic shadows unless something moves.

Here’s a link to a recent talk about it during a livestream:

Super interesting! Thanks a lot for the link :slight_smile:

Cheers!