Unreal Lumen (Global Illumination without RT)

So, Unreal Engine 5 EA dropped today and what got me wondering is the new GI tech, aka Lumen.

It looks like a non RT based GI (although it can be accelerated by RT) and very little info is known about how it works. Performance wise, it seems like it is able to outperform RTGI and definitely Unity’s RTGI and SSGI. It averages 100FPS on RTX2080ti, so definitely much faster than Unity RTGI…

Here is a vid

From what I have gathered so far, it seems like a blend of SSGI and VXGI. And it seems like it can be accelerated by RT cores…(Funny because this is exactly what the community wanted a few years back and UT guys said that it is not what they want…)

EDIT: On further investigation, it seems like it is more of a SDFGI (Signed Distance Field) than straight up VXGI. A more advanced variation of what they have in UE4 and Gordot.

Now the tech is branded Lumen and people will start asking when Unity will make Lumen.

So yeah. Just wanted to drop this info on this forum and let everyone know we are behind…again.

On the other hand, I do wonder if Unity will ever work on DDGI…

Also, Unity devs…if you are reading this…and want to make Unity’s GI remotely usable…look into SEGI…just drop your pride and hire SonicEther…or the HXGI guy…please.

7 Likes

It’s a blend of SSGI and SDFGI. For the primitives without interior it can also generate so-called “cards” which seems to be another type of simplified scene representation. Looks a bit like Godot SDFGI + a good screen space solution to me. Tested it yesterday with RTX 2070 (without hardware raytracing): it’s really good, but not artefact-free and some artefacts are quite heavy when the camera is fastly moving forwards and backwards. It also generates a lot of floating blurred noise (real-time denosing) which is not always noticeable in the youtube demonstartions but is obvious in the engine itself and especially on the bright surfaces. It adds a bit of AO on top of that (darkened corners). There’s also a noticeable update lag when lighting changes rapidly. All in all, it’s a great solution for prototyping and some slowly changing lighting scenarios (especially outdoors) but with some obvious caveats. I’m sure it will be improved in the future.

As for Unity, I’ve seen they are rolling an updated version of SSGI. There was a link to github in one of the threads related to it. And it looked really promising. I would not say that it looked worse than the screen space part of Lumen. And there were also some examples of it working in conjunction with the new probe volume system (which, according to the github again, has been sped up by utilising SDF for scene representation). So probably there will be some good news in the near future, if all of the above is actually being included in the engine.

3 Likes

Unless I am mistaken, that SSGI is already available and it performs really bad…quality wise…I would rather not say more as it is innately limited due to its screen space nature. There could be another SSGI revamp in progress that I am not aware of…but I highly doubt SSGI will match lumen…performance and quality wise. Currently unity SSGI is a fallback method when RTGI is enabled and it fails to do so.

Nevertheless, I will probably get to try UE5 Lumen myself later this weekend and should be able to share more.

1 Like

Yeah, I see that it’s been merged. I’m talking about this one: https://github.com/Unity-Technologies/Graphics/pull/3330
Though, I’m surprised to hear that it has bad quality because the difference between the old and new version according to the attached examples is like day and night. And it holds up pretty well even in comparison to the ray traced version in the apartment example. I mean, this looks as good as a screen space solution gets.

The closest thing is this one (for built in):
https://github.com/haolange/Unity_ScreenSpaceLighting_Old

1 Like

Can anyone tell me about what is the new probe volume?
Are there any documentation pages showing it in action except the one mentioned above?

Screenshots can be misleading…I would advise you to look at videos or try them yourself.
And when that happens you will see what I mean :slight_smile: At least with unity SSGI.

1 Like

I tryed UE5 beta, and it’s works quite fast on my non top hardware. But Unity as usual continues cosplay slowpoke. Remove enlighten, restore enlighten back, rtx those working only on HDRP and top nwidia cards… Just ridiculous. I would have gone to UE long time ago, but it’s mean I need to rewrite all my code and it’s a lot, that’s why I’m still here.

7 Likes

Yup, this is my last project that I will be running Unity. Jumping ship to UE after this project.

3 Likes

I and many passionate forum users have consistently tried to get through to Unity to no avail.

12 Likes

I consider it to be a hybrid solution, a blend of different techniques. Its quite impressive in some ways, although I have to wait to see what its like in final release form as it currently still has the sort of limitations and compromises that remind me there is no perfect, performant solution in this area that can perfectly fit every scenario. eg the way it caches stuff in order to be performant has some obvious implications when it comes to ghosting etc.

As for Unity, I have moved further towards hardly even finding it worth bothering to complain, such is their consistent track record of over-promising and under-delivering. Growing paints from years ago that they never solved, something fundamentally wrong with their management, structures, relationship with technology and solutions that are fit for purpose.

If someone could clarify this for me, what are the supposed advantages of unreal over unity?
isn’t lumen extremely niche, only for projects that necessitate dynamic lighting, at the expense of lower runtime performance and alienating low end users & platforms?

for my case, even though personally i would seriously like to give unreal a try, it is completely unusable.
the lighting system is too locked down. i need control over the lightmaps, shadowmaps, and directional maps for runtime & editor editing. Same for lightprobes and the lighting asset.
I don’t think this can be achieved in unreal, without spending an inordinate amount of time editing & compiling the engine code.
Unity has a very nice safe api for texture manipulation & gi application, and a very nice multi threading system for my own custom baking step.
editing the srp packages, lighting asset and shader code is very pleasant, and compiles very fast. i don’t think the same can be said for unreal.

honestly unreal is kind of a joke, for anything that isn’t a cookie cutter rpg / fps. i’ve seen a couple newer people suggest a transition to unreal and they’ve been given a flat no answer, which i found kind of amusing

2 Likes

Are you comfortable saying something like that on a public forum, with the full knowlerdge of how many AAA studios use Unreal, how many actual billions of dollars of revenue pass through that engine, and so on? What about bright memory and all those indie titles that also are made in it? I mean, it’s a stretch to take your words on board, so I don’t think many will.

4 Likes

The idea that high end stuff is extremely niche is a joke. Its not the whole world of gaming, but its a fair chunk, especially with the latest consoles. And gaming is no longer the be all and end all of realtime 3D graphics engines. I expect they also felt the need to work on dynamic lighting systems because of other stuff like nanite.

Regardless of this and my complaints about Unity, there are still plenty of scenarios where I’d rather use Unity. And its important to have multiple options, with different strengths and weaknesses and different sets of compromises. Narrower views may still have validity but not in isolation, view that are too narrow have to be combined with lots of other narrow views in order to obtain the full picture.

i didn’t say anything about high end, my comment was about high end + needs moving lights / objects, but not so high end as to need rtx.
slightly above enlighten on the high end scale and slightly below ssgi

You are not wrong, but your information is outdated by like 15 years. Your idea of UE being like that is when it was UE2/3 era. In terms of what is do-able, UE and Unity is pretty much neck and neck. UE allows freedom in the sense of the engine source being readily available and Unity being a black box but allowing us to extend the editor and behavior with C#. They are pretty much the same except Unity’s shader approach is the more appealing method for people with shader experience. People with a solid C and engine developement experience will find UE way more approachable and easier to find a good hire. Other than that there is not much difference.

If you argue that Unity is better because you can do anything, the same goes for Unreal. The whole engine is up for modification. The difference is your background and skill and hence your preference. Some people find Unity more open and others not vice versa.

The real difference between the two Engines, is the graphical scalability, and it has been since the early days of UE4. See, lately, Unreal have realized, that their engine needs to be designed for Open World Games, not because they are more popular, but because techniques required for Open World Games pretty much cover every other 3d genre. If it can do Open World, then mostly likely it can do everything else.

For example, streaming large terrain, shifting floating point, Seamless interior/exterior, Nanite, Realtime GI and lights, virtualized shadows. I mean, people are uploading level videos on UE5, which calculating the release date, the max time they could have had is 2-3 days. Some people actually say they whipped something up in 10 min. That kind of stuff takes couple months in Unity. The baking alone…phew

https://www.youtube.com/watch?v=BsFoAukrkxk

On the other hand, Unity has been knee deep in DOTS, which so far proves to be a big mistake (this is subjective so, this is my opinion). They expected data oriented approach to leave a huge gap between UE and Unity, but the development of DOTS and Hybrid Renderer is just dragging on and on. Also, per usual, Unity has put graphics at the bottom of the list, getting their bottoms kicked hard - again.

See, I expected the Hybrid Renderer and DOTS to be fully ready about 2 years ago which would have made Unity and Unreal trade good blows to each other, DOTS hybrid renderer vs UE4, then UE5 around now, and Unity something 6 months later. You know, a good competition.

But the sad reality is Unity keeps missing their punches by investing in the wrong direction. (Enlighten going away and coming back, DDGI development stopped, basic editor features like Splines delayed because Overlays is so important, HDRP grass shaders taking 3~4 years)
Then there is the delayed and prolonged development cycle which I think at this point is not subjective but objective fact.

So, what am I trying to say? When it comes to Unity vs Unreal, Unreal is the clear winner. If you say otherwise, then it is at a point where you are insulting both engines. The difference is clear and big. Don’t confuse what is better versus what works or more suited for your project though, because out there, outside of this Unity forum, I guarantee you that there are millions of people who would say Godot or some other engine is better than Unity. The two are mutually exclusive and should not interfere with discussion.

I just hope that the Unity devs know what exactly is going on. For some strange reason, every Unity dev disappears when people start talking about Unreal Engine. No news, no sharing of roadmaps, no info on how far or what they are doing. I mean, did everyone know that this tech is not getting worked on at the moment?

https://www.youtube.com/watch?v=F3hIculYFwM

If there is a priority list it should be on the negative side of things…this is how important this tech is and yet, it is delayed, not worked on and not told. Why and how long? who the hell knows man…who knows.

18 Likes

Would be cool to hear from the devs what’s gone wrong each time they fail to deliver some feature. I asked this exact question when they announced that Enlighten is coming back, but with no answer, of course. I mean, what do they fear at this point? That people won’t like it? The convoluted in-house real-time gi development that has ended with literally nothing can’t go unnoticed. People are already quite disappointed and are not ready to believe other promises. If the company was brave enough to disclose what’s gone wrong and comment on how they are planning to improve this situation, then, I believe, they could find more understanding than they receive now, ignoring questions and acting like nothing happened.

5 Likes

i-i kneel. i see that i was wrong and you are right. unreal is the superior engine.

i just like unity’s:
-job system
-ecs (particularly how scripts live in the project folder vs dragging references in editor, and how, uniquely, there are no static mesh objects)
-markup style sheet flex uielements
-instant compile time, leak detection and safety in editor, thanks to jit
-modular package design, modifying & updating parts of the ““engine”” vs the whole of it
-tiny builds
-super low end platforms
-runtime modability via .net assembly injects or host playing from engine with livelink in multiplayer game.

but i can clearly see why more AAA studios would go for Unreal, with its superior graphics, artists workflow and technologies like nanite

2 Likes

No problems here mate, we are just throwing opinions :slight_smile:

As for me, though a lot of the stuff you mentioned feel useless (and mind me, I am not AAA or even close to AA) but as soon as the project scales to a release scale/date, the whole editor/project starts to break apart.

Job system - if not used carefully, the overhead slows the game down more than not using it. Strange behavior, and if I only use it when it benefits, there are very few instances, where I can (like spraying many objects as projectiles, or doing linearly increasing cross array calculations). It feels like a half baked multi thread system, trading safety of threads for performance…

ECS - if it actually worked with HR and other related stuff. The horrible conversion workflow is another…

And most importantly, as the scene gets bigger and number of things increase, the editor is more prone to crash…just randomly, loading in, saving etc. And Unity does its magic when it crashes, often corrupting the project, sometimes even breaking it beyond repair. I try to erase Library, or some meta file etc to fix it. But most times I am going back to my backup in my server. It turns my day into a nightmare when I have to read back from my backup which takes about an hour. The project source is around 200GB now and around 15GB when compiled as standalone, so the pain is real.

But back to GI, we really need a new initiative from Unity. A direction of sort at least.

3 Likes

So, am I correct that it’s possible to avoid using light sources at all and just use emissive and GI to light?
I mean, what’s the point of using lights then?

Unread graphics looks just stunning, that’s true.

Bove systems are extremely well thought and intersected, Nanite and Lumen. It’s not just a Global Illumination solution. Lumen consists of SSGI, Signed Distance Field GI and huge voxels for VXGI in the distance. From what I understand Nanite generates simplified scene for offscreen information that Lumen uses for GI and Reflections. It’s genius in a way cause you kill couple birds with one stone.

In my opinion simple SSGI can’t compete with that no matter how good it is.

1 Like