Lighting / foliage / general development speed (ideas and qualms)

So I’ve been evaluating UE4 for about a month, I’ll start with one of the biggest complaints from the team which is Lighting:

Pro’s for lightmass

  • Looks amazing
  • Easily definable
  • Game performance


  • Extremely slow (on larger scenes) waisting employee time
  • Quality outside the LMIV’s, when creating large terrains and outdoor scenes becomes problematic
  • Level editors inability to tweak without re-baking
  • Too much guess work involved for people new to lightmass

Suggestion: Would it be possible to use static geometry based pre-computation (like enlighten) so you can use lightmass and tweak lighting / use TOD systems without having to re-bake? LPV is too performance hungry and looks a bit odd as is, I understand it’s a work in progress but there are too many technical challenges compared to the alternative. Also once you have compiled shaders, why would you need to re-compile them before running lightmass?

Final thoughts / feedback, the terrain and foliage system needs a hefty re-visit. The amount of times UE4 has crashed for nothing more than painting or removing (mainly removing) foliage, I’ve already discussed with another engineer about world composition tile edges. The paint issue with black lines is being looked into by Epic which is good.

General performance has been a little bit of a miss, currently our target market for a Unity game release was a GTX 260 although for UE4 we increased the min spec to a GTX 650 and the game also has to run on PS4. I’ll give more information on this later as I have our lead engineers looking through stat counters and source code to try and track down bottlenecks. We were heavily using World composition, it’s a great feature and looking to leverage it heavily if UE4 is what we settle on.

I understand UE4 is a beta product and so far I really like it, it just needs tidying in areas to be a replacement for our current / or the eval of the upcoming engine that replaces it.

No / Yes / Maybe? Were working on X?

Things like speed and bugs will always be improved and worked on, it just takes time. The reason it needs to bake lighting again when you change something is that you changed something and the lighting will now be different, there’s no way of getting around that. As far as the Enlighten type idea—no one wants to have to create low-res geometry for everything, plus for that to work it would then have to project the lighting results back onto the high-resolution geometry and that would still be slow.
I wouldn’t mind having some kind of progressive preview for lighting, like VrayRT or iRay. Though it wouldn’t be real-time, at least it would give you a good idea of what stuff is going to look like before you spend the hours to build the lighting.

As I said, UE4 is a beta so I don’t have massive expectations for now. They’re doing a great job, just some tidy work needs doing.

NOW :), on the lighting we will be evaluating Unity 5.0 for a month (when it’s publically released) to see what’s going on down there. You could be right about Enlighten, apparently a lot has changed with Unity and the way they do things. I will report back when I have finished evaluating…

UE4 Isn’t a beta at all, it’s a release. Beta has been and gone. It has iterations and subsequent releases of course but that’s part of any software package. All of your cons listed above are pretty much cons of any static lighting system and kind of obvious… There is also an Enlighten solution for UE4 already if you check the Enlighten website, but obviously you have to buy it and implement it yourself.

In regards to why you had to increase your specifications, Unreal is a next-gen engine. Unity is not. The visual differences speak for themselves and really this should go without saying. There are a lot of very very good-looking PS4 and Mobile titles out there on UE4…

That makes the situation worse not better, for an RC it’s buggy. I know a fair bit about Enighten it’s not the first or last time I’ll use it and I know the pro’s and cons are obvious but what is the solution? Hence I made a suggestion, if Unreal could improve upon Lightmass for the general user base wouldn’t that be a good thing?

Also, I’m very intrigued. Please “enlighten” me about Unity 5.0 not being a “Next Gen” engine when it hasn’t even been released to the general public yet.

Anyway, I’ll try out 4.4 today see how things are going.

I meant Unity 4.0 or the current iteration of it that you switched from. You mentioned about the need to switch to higher requirements because you went for Unreal instead, but that’s not a fault of Unreal. But then, we still don’t know what the future holds for U5 really.

As far as the solution for wasting time with baking, I don’t really think there is one surely? Baking is just one of those things that takes time anyway (otherwise we’d have super-accurate DGI yay). Lightmass can be really quick if you use the network feature of SWARM, and also if you turn that feature off when you’re not network rendering. I know in UE3 there was a bug where it would keep pinging for servers constantly, and slow the whole process down. Not sure if that’s been fixed since. Lightmass is probably ripped straight from UE3 to be fair. But thing is, you either get quality or you get time efficiency.

Enlighten is a pretty good GI solution from what I hear, but isn’t it purely Dynamic? That will decrease your iteration times between lighting changes, but you’ll have to make cutbacks elsewhere to compensate for having DGI and possibly end up with lower-quality lighting overall. It’s probably best to decide early on whether you want or need a dynamic GI solution, and if you don’t, factor baking times into your production schedule. If huge outdoor environments are a regular feature in the game, maybe DGI is a better solution, especially as lightmass only delivers high-quality in a defined area (to cut-down baking times), and does very little outside of it. (I’m assuming you’ve looked at Lightmass Importance Volumes?)

You COULD even bake your lighting in an external program and bring the lightmaps in… never tried that workflow though. UE4 is still in early days so it’s going to have bugs and crashes, but it is definitely out of beta. I just think it’s unfair to compare Unity and UE for crashes/bugs when Unity has several years of R&D and fixed on UE at this time.

Thanks for the feedback ShadowKindGames, as darthviper107 mentioned, we are working towards continually improving performance, release after release. A workflow I’ve often done with lightmass is to do preview builds while working on a lot of mesh placement and fine tuning, and do production lightbuilds when its more convenient (end of day, etc).

Thanks again for sharing your experiences with us. Let us know how 4.4 treats you :slight_smile:


Thanks Chance, were not doing things by half measures here. We have a 24KM2 terrain filled with trees / foliage etc. etc. very performance impacting stuff and we’ll have to scale it back a little (most likely a lot).

Lightmass as of the moment takes around 3 - 5 hours on preview to do a single sweep with a block of world composer tiles loaded using LMIV’s, our machines are high end (for the moment) we have 15 X I7-3770K / 780Ti’s and SSD / 32GB DDR and 5X same spec with titans. Oh and I have a laptop with an 880m in it which I use for some testing purposes. Mainly the trick “seems to be” get your scene together dynamically then bake right at the end, not unlike beast and Unity really… But lightmass adds such an impact to the scene, I was messing around with mobile temple and LPV / Lightmass… LM is a beautiful product I have to admit and looks worlds better than LPV, it’s trying to find a compromise somewhere.

I don’t mind at all increasing the min specs for our game, something has to give and I’d like to believe I’m being reasonable, at the moment the performance isn’t great on 780Ti’s never mind the target spec. Please take this as no more than you’re doing a great job Epic, here’s a couple of things you may want to look at.

Also thanks for the reply :).

@ TheJamsh

Of course I leverage LMIV’s, thanks for the tips I do really appreciate it. I wish I could talk about Enlighten and that other engine, but I’ll get in lots of trouble if I do and I’ve yet to get a quote from Geomerics, although it is an option depending on how UE4 and it’s dynamic lighting turns out.

Thanks again for your replies.

Alright, well we will definitely be sticking with UE4. World composer alone has been a tool that’s made life so much better, the way it can keep performant whilst streaming in vast terrains is great.

In 4.4 we do have some issues as reported, removing trees still crash the Editor. When we upgraded one of the tiles wouldn’t recognise a Directional light was in existence, I gather the tile system seams and black paint issue is still being looked at?

I’d be interested to know how many others are leveraging world composer? Again for us it’s been amazing.

Not gotten around to Navmesh yet, you seem much further on than I am. World composition tiles seems to be casting shadows onto planes (e.g for water) which you can switch off with usual terrains but not landscape proxy’s. Might be worth Epic adding a button, although in the scheme of things not very important.

Were segmenting into 2 or 3X 17.3 KM terrain tiles, so a load segment between with caves and stuff. Setting stream distance to around 75,000 in a new layer seems to keep everything running smoothly.

Just making sure we can cut as much fat out of it as possible to keep things performant.