Download

difference between unreal and unity lighting system?

hi what is difference between unreal and unity lighting system?

i heard unity is using enlighten which is better than unreal’s current lighting system, but currently unreal still looks better than unity 5.

anyone can enlighten me about it? thanks

Baked lighting in Unreal gives better results than baked lighting Unity and it’s easier to use. It also integrates with dynamic lighting nicely, so if you have a character casting dynamic shadows then the shadows will blend with static shadows.
Enlighten which is integrated into Unity allows you to use dynamic lights with global illumination. However, it only works on static geometry so anything that is animated or doesn’t exist at the start of the level will not work with that type of lighting (for example characters). Also, the pre-process calculations is very slow, and Enlighten is also a bit slower than the standard dynamic lighting systems that don’t have global illumination. And since it’s still a very new feature it’s got some bugs.
By the way, if you really wanted to use Enlighten they have integration with UE4 as well, but you have to buy a license from Geomerics (the company that makes Enlighten) to be able to use it with UE4.

There’s also other lighting systems available for UE4, though they require a more powerful computer system to be able to run them, so that’s why most people don’t use them.

Enlighten is better in theory, but in practice baking lightmaps takes forever, results don’t look good, and on modular you’ll see seams, plus objects might get random tints.

Enlighten allows you to use precomputed global illuimination, though. Meaning you can put a light into scene, the system will precalculate light bouncing and then you’ll be able to adjust light color at runtime AND that will affected bouncing light too. UE4 GI solutions are highly experimental at this point.

However… as of now unity cannot blend dynamic and static lights. Meaning that your dynamic lights won’t be casting shadows from static light sources, they’ll only cast them from dynamic lights. This is an old problem and it still hasn’t been fixed. Now , UE4 has stationary lights, which use lightmaps, BUT shadows from dynamic objects will blend with that properly. The issue with that system is that if you get too close to the ligh source, shadow might start disappearing (I’d guess it is a glitch). Aside from that it works fairly well. Also, you can only have 4 stationary light affecting any area at once. Anything above that will be converted as dynamic, and direction lights count towards that limit for the whole scene. Despite that it is still better deal than unity.

Light probe placement in unity is manual. That’s major pain to deal with.

Unity lightmap baking process is insanely resource hungry, and at default settings takes 4 times longer than unreal lighting at maximum quality. Baking process (in unity) also currently cannot be spread over several machines on the network, which is possible on UE4. It also does not utilize OpenCL/CUDA/whatever GPU utilization, so if you want faster baking results, you’ll need monster of a cpu and lots of ram. Some people reported system allocating 80 gigabytes of memory to bake something. You get the picture.

Unity 5 doesn’t handle translucency during baking as of now. Meaning if light passes through stained glass, it won’t be colored by the glass, and it will be either completely blocked OR pass through unaffected - depending on glass alpha value. UE4 can deal with that easily.

However, funny enough, Unity can handle specular highlights on transparent materials, while this is an issue in UE4 (as far as I know).

Also, as of now UE4 has a glitch where blueprinted objects won’t participate in lightmap baking. That kind of issue doesn’t exist with unity prefabs.

So, you have set of gotchas in both engines.

In practice Unity’s system is an utter nightmare.
Its slow, ugly, and broken - on a good day.

My advice after using Unity for 10 years (And knowing next to nothing about Unreal) is, if you know Unreal, for goodness sake, stick with it!
Unity has been amateur hour for way too long. I’m considering ditching it entirely as an indie developer, but learning a new engine is unlikely, I’ll probably switch careers entirely.

Unity is a cool toy, probably good for your own hobby project, but its developers treat its users like free testers, and has us in testing cycles lasting months and years, when we are trying to deliver solutions to clients on time and within budgets.

In this context its developers are royally ******** its long term userbase, and we’re getting very sick of it.

Regarding Unity 3D, I can confirm that making a project was possible on my weak computer but the baking lighting was a true disaster and was unsuccessful, so I give the project to my customer without baking. It consumes much computer resources and you need to have really a good hardware to do that. Because of it and other things, I made a decision to give Unity 3D up.

It’s true - Unity 3D is a toy therefore it is so popular. It easy to use even for kids, but rather not good for professionals. My huge project was so slow and some features didn’t work properly. Fortunately, it was Demo only. Seeing all the problems with Unity 3D, we made a decision to use UE4 instead. For me, a new and difficult engine to learn, but I don’t regret. I wouldn’t make my complex project with Unity 3D. It’s simply impossible.

In other words, if you are a kid or a total beginner in game developing, use Unity 3D, but if you want to be a professional, be patient and start to learn UE4.

UE4 is really awesome. The only thing I don’t like in UE4 is the fact that the binary version of UE4 for Linux hasn’t still available. I’m waiting…

In unity’s defense, though, I can say that it has some cool features that could be used in UE4. (mainly mecanim animation retargeting, better support for root motion locomotion and simpler asset management). Those features are not part of lighting system, though.

I wrote about that in a different thread. What great features of Unity should be used in UE4. There was a hot discussion and Epic Team accepted them as a good idea. They promised to add the features to UE4. However, they probably changed their mind because I don’t see them in the Roadmap. It’s bad because the features would be useful for all UE4 users and UE4 would be more friendly to Unity users. The ones you mentioned are only a few of many Unity features that would improve UE4.

Would you care to post a link to that thread? Because I haven’t seen it. And my feature requests usually don’t get much attention.

I think the thread is here: