Enlighten deprecation and replacement solution

Due to Geomerics shutting down Enlighten as a product, Unity is required to remove Enlighten.

Unity will continue support for Enlighten in the built-in renderer as it currently exists today (as-is, with no new platform support). The 2020 LTS will be the last version to contain Enlighten functionality for the built-in renderer, and it is fully removed in 2021.1.

Projects authored with HD RP Preview Enlighten functionality will continue to be supported as it currently exists today (as-is, with no new platform support) in 2019 LTS, with full removal of Enlighten functionality from HD RP in 2020.1.

Our Lighting team has been focused on making a robust solution to replace Enlighten Baking over the last year as well as provide great alternatives for the fast workflow possible with real-time Enlighten pathway through improved baking. The CPU Progressive Lightmapper is production-ready. Our GPU-based Progressive Lightmapper is used widely now with a great set of features and is targeted to be production-ready in the 2020.1 release. We’re continuing to add improvements, focusing on highly-iterative workflows, with every release. For example, in Unity 2019.1, we’ve added NVIDIA® OptiX™-based AI denoising, which gives you noise-free lightmaps up to 10x faster than before and many other features targeted for easier, more intuitive workflows and faster iteration for artists.

In 2019.2, we’re adding Intel® Open Image Denoise, which makes this fast iteration functionality available on all Editor platforms for our users. We’re also adding sophisticated sampling methods to improve baking iteration speed such as multiple importance sampling from offline rendering which gives you clean bakes when using HDRI environments. We’re improving the control of lightmap layouts by letting you specify the number of lightmaps you want, and more convenient artist options. If there is any feature parity missing from Progressive Lightmapper in order for you to make the transition please give us feedback on our Global Illumination forum.

Light Probe workflows will receive significant attention over the coming releases. Light Probes offer great quality of lighting and flexibility for authoring - they do not require UVs and they are fast to compute. We’re working on workflows to enable easier Light Probe placement with volumes and automatically place Light Probes for terrains. We are also adding support for streaming light probe data sets to make workflows better suited for streamed worlds and large team development.

We are also fully committed to delivering a real-time GI replacement solution in 2021.1. The Unity team has a solid plan to solve this complex problem the right way, with great artists workflow and optimal runtime performance for 2021.1.

We understand it is frustrating if you are affected by this. Deprecating features is not something we do lightly. This is not the outcome we wanted. We are committed to providing great workflows for authoring lighting, whether for baking or for real-time global illumination. Please join us over in the Global Illumination forum and discuss this with us, we are here to help you make the transition.

20 Likes

Silicon Studio asked for too much money?

My sympathies to anyone that has a sizeable project that is built around Enlighten.

6 Likes

Enlighten has had a good run for the money, some of the best looking titles have shipped using it. However, some of the underlying principles means that it is not a good fit moving forward.

Enlighten is largely surface based, requires a global pre-computation phase and is limited to diffuse transport with no real support for physically based non-opaque materials. Some of the drivers moving forward are:

  • Fast iteration: Time-to-first-pixel needs to be fast, cannot have a lengthy pre-compute step.
  • Easy authoring: We need to remove the dependency on authoring suitable UVs and other surface based authoring.
  • Dynamic worlds: In addition to dynamic materials and lighting setup, we have to support dynamic geometry (eg. for procedural games).
  • Unified lighting: The lighting container needs to be decoupled from surfaces. This allows all scene elements to use the same lighting including volumetrics and participating media.
  • Large worlds: Due to the sheer size of levels today we need an easy way to to do localized light transport where what is lit and what is affecting that lighting is decoupled.
  • Source access: We need to have full access to all source in-house. So that we can independently drive development forward, fix bugs and support future platforms. This is arguably the most important point.

For these reasons we have decided that the best course of action is to no longer pursue software we have limited control over and move on.

That said the feature set that is available now will be supported until 2023 (via 2020 LTS), and we are happy to support you in the transition.

31 Likes

Hi @Jesper-Mortensen great news! But bad for us. We’d invested significant time into our HDRP title’s lighting. It was last night actually, that I finally put the finishing touches to our enlighten realtime GI. This included automatic probe placement, automatic mesh setup and automatic mesh parameters.

It was the end of a 3 year puzzle of on and off R&D where I wanted to automate the entire enlighten workflow and I didn’t know Unity’s plans.

Pretty sure because of the above timings you mention, this issue really does affect us, in a poor way. So it’s better to just remove what we are doing. It’s sad but it is what it is and I will accept it on the chin without drama.

I will ask if you’ll ship a package for HDRP users like me? I just lost a ton of work - no fault of your own - my fault 100% because I didn’t get any information back soon enough and failed to act soon enough.

But anyway, will you be shipping a package replacement or similar (early experimental of course) for HDRP users using your new solution? I would love to be included if only because this really did hit our project in the glowing balls :confused:

2 Likes

So sorry to hear that! So just to reiterate the 2019.4 (LTS) will keep the current functionality (in HDRP), so if you are shipping before 2022 you should be ok.

We are working away at a replacement and will share news as soon as we have something in a presentable state.

May I ask what kind of platforms you are shipping your Enlighten projects on? And if you are using realtime GI in the game or just to accelerate authoring in the Editor?

2 Likes

Realtime full open world game (third and first person) for ps4 and above (it’s a minor exclusive before being ported to desktop/other consoles). Would really love to test for you if possible though. Really!

It’s using GI for realtime purposes not editor.

Can I ask for realtime GI with no-bake required and which isn’t based on raytracing?

9 Likes

When you say raytracing I will assume you mean “hardware raytracing” as in needing a GPU that supports hardware accelerated DXR (or Vulkan-RT)? Yes, we are exploring options for that too. But it is too early to tell if that is viable at scale.

7 Likes

DDGI? I got wind of some Unity experiments with that in April via the rtpv branch of HDRP on github, but I knew I shouldnt make any assumptions about Unity plans from that alone.

DDGI: https://morgan3d.github.io/articles/2019-04-01-ddgi/

An example of a rtpv branch commit from April that tipped me off about DDGI: https://github.com/Unity-Technologies/ScriptableRenderPipeline/commit/e919caa6b2557583f8b60ce93b3b6fba34bf4dfd

2 Likes

Does this require DXR library?

DDGI solve the leaking problem of GI based lightprobe volume by adding a clever visibility data per probe. It doesn’t solve raytracing per see. RTXN is just the way in which we update the DDGI proposed structure (in this case lightprobe volume), any other solution would work just fine too. And because of what property GI has (notably low frequency), updating that structure in realtime can be done in way that are good enough visually.

So my guess is that unity is exploring way to use that insight and generalize it beyond the current DDGI.

My only question, can this be backport to opengl es 2.0 level of harware, what about cheap and weak hardware?

At that level updating the probe is the most costly operation, that is how do you sense the world around you.

Here come some rambling :roll_eyes:

1 Like

On the contrary, please base it on ray tracing. Sure, today only NVIDIA supports hardware ray tracing but next year both consoles and desktop AMD cards will support it too so by 2021 it will be ubiquitous.

Looking at the list of requirements @Jesper-Mortensen posted, ray tracing covers them all:

Fast iteration: yes.
Easy authoring: yes.
Dynamic worlds: yes.
Unified lighting: yes.
Large worlds: yes.
Source access: yes.

Some may argue that voxels are a good alternative but due to being a fixed grid and having a max resolution they have issues with leaking, artifacts on curved surfaces and small objects not even taken into account. Working around them prevents fulfilling the “easy authoring” condition. RT on the other hand has no such issues.

It’s also a proven tech in an actual shipped game. Metro Exodus already supports both diffuse and specular GI in large worlds at 1080p @ 60fps (max settings). The game has it enabled only for the sunlight due adding the functionality late in the game and the artists not having the time to adjust the levels but the developers showed a couple of demos at the GDC demonstrating interior lighting and it’s quite the leap in quality.

Edit: here’s a video from the presentation with one of the artists talking in favor of ray tracing:

https://www.youtube.com/watch?v=1e3Cmp5By00

https://news.developer.nvidia.com/global-illumination-in-metro-exodus/

Last but not least, Unity’s main competitor already supports RT. It’d be a shame if Unity was left in the dust.

Feel free to delete if it’s too off-topic, but… How is it your fault “100%”?

When Enlighten was bought by Silicon Studio (or, they bought the development and licensing rights), people here (me included) asked what that means for the Unity integration.

We got no reply (and that’s fine, maybe there wasn’t a reply to give at the time).

Maybe you could argue the writing was on the wall and you should have seen it coming. And… Maybe. But for all we’ve known, Unity today could have announced a new partnership with Silicon Studios (and frankly, after the very recent Silicon Studio announcement about new updates etc I was even half expecting it would happen) and then retroactively, sticking with Enlighten would have been the correct choice.

I appreciate your aversion to drama, and I agree it’s definitely not the dev’s fault, but the phrase “my fault 100%” reads like Stockholm syndrome talk.

I argue that you could, or actually, should, feel at least mildly annoyed.

I’m hoping Unity will release a preview of the new GI solution as soon as possible, if not publicly, at least to people that have built their games around Enlighten, so you can start prototyping you new lighting solution ASAP.

I will not have any use for it for the foreseeable future, since I make smaller games and I really like high density lightmaps, but I know that having a significant part of your game be in limbo for reasons outside your control feels awful, so I’m hoping Unity comes up with something really fast. (or at least faster than it took the progressive lightmapper to reach production readiness :stuck_out_tongue: )

11 Likes

I’d be entirely fine with a DXR-capable GPU being a requirement to use HDRP as a developer for lighting.

1 Like

Great to hear that!

Is this solution planned for all pipelines? HDRP, LRP and built in?

From your post I assume that at this moment your plan is to release this in a production ready state in 2021.1. Are there any plans for releasing preview packages (like many other packages, including rendering pipelines) of this solution in the 2019 or 2020 cycles? I’m interested in packages for HDRP but I’m sure people who use other pipelines are curious too. I’m also sure that a lot of people would want to use this much earlier than it’s in production ready state, even if it won’t be perfectly optimized and just with the basic features and settings.

Do you plan to release it as an external package or add this as a feature to the pipelines?

It’s not Stockholm syndrome, it’s Copenhagen syndrome… get it right!

Joking aside, what I mean is that it is always the developer’s fault because ultimately we do control the decisions we make. I did not expect Enlighten to get dumped for HDRP but sh** happens so I either have a clean break and get on with it or kick up a stink.

If I could ask for something it would be a lot more transparency from Unity. I know it’s bad practise to develop against semi-unknowns and I know that no answer = total unknown.

So it’s my fault, IMHO.

4 Likes

Only some thoughts and workflow examples which are working great and use the power of long years of development and some great open source examples.

I must go some steps back and trying to come back to realtime GI at the end because i think there i some other common missunderstanding what is really needed to get the results paired with a dangerous reinventing of the wheel.

The following examples try to show that a realtime raytraced preview should be the beginnig of every workflow when it comes to lightmapping and extended lightprobes stuff up to realtime GI.

Example 1) SubstanceDesigner

Switch from raytraced iray to realtime visualisation empowerd by a perfect post processing yebis stack, author your materials. What you see is “pbr” perfect and what you get. Bake it down.

Example 2) Blender Cycles and EEVEE

Switch from
Cycles raytraced Full feature GI


to

EEVEE realtime rendering. What you see it what you get in both world.
Model, author your node based pbr disney material and bake it down.
All under final post processing.

model from katarn66:

These two methods have in common,

You can switch forward and backward from full featured raytraced GI to realtime rendering in seconds and bake down your stuff.
Out of my experience you only can reach fast true photrealism this way. Fast physical based iterations.

Why is using Substance Designer Iray and Yebis? Why did they not tried to develop their own solution?
Simply because they know how much work an iray is.Same for Yebis. Both together around 20 years of development or more.

Same with Blender Cycles. I think it comes close to this. Mass OpenSource development since 6+ years, great performance and platform independency. Now directly connected over perfect node based material concept with EEVEE.

So i think there is something to learn and probably some chances to use this 2 exapmples and build on top of this.

Another good example is Bakery who has no realtime preview yet but delievers an outstanding solution for lightmapping through divide and conquer.

So where is the deal to map HDRP and LWRP Shaders, Env IBL, Procedural Sky to Blender Cycles and give realtime Visualisation in Viewport and when you are satisfied bake it down to textures , reflection probe,light probes, occlusion probes .and some nicer future stuff what could be the real unity core competency…

You could use the massiv development power of an great open source tech you probably cannot develop with your lightmapping team the next 5+ years.
On as many CPU and GPU nodes you want. Because it s free.

Using similar approch to IRAY like Substance should be possible too.

Simply skip your blackboxed lighting asset and connect a ScriptableBakePipeline with professionell solutions like above.
You should be out of preview soon and you could concentrate on real workflow issues and generate outstanding realtime GI stuff of the perfect calculated rayrtraced FullGI precalculation which is solved.

edit 25.07:
fyi.some last weeks softfacts

edit 29.07
Cycles got some OptiX RTX optimisation from NVidia today.

Also OptiX Denoiser is now part of the Driver and now free for Open Source integration according to the GPL.

9 Likes

Eh, we do control the choices, but they’re somehow less important when someone else controls the options we have. (plus, all options turn out to be more or less the same thing)

At least that’s what telltale games have taught me! :stuck_out_tongue:

1 Like

Raytraced GI shader which works in dx9 and dx11. It can run on AMD and Nvida card as well.

You could also rebuild and sell different perpetuum mobile constructions you find on youtube on paetron.