Lighting change upgrading from Unity 2023.1.7f1 to Unity 60000.0.14f1

Hello, in upgrading from Unity 2023.1.7f1 to Unity 60000.0.14f1 I’ve found that my lighting looks different - it’s a little darker and more saturated. Any idea why? I preferred the old lighting.

I’m using the deferred renderer, not URP or HDRP. I’m not using HDR, afaik - it’s set to Off on the Camera. I’m not using any baked lightmaps. It’s just the sun (a directional light) and ambient light. (The characters also have directional back lights and fill lights, but the world doesn’t.) I haven’t changed anything else apart from upgrading Unity.

Here’s some comparison shots. Old lighting:

New lighting:

I noticed in Project Settings/Player/Other Settings/Rendering there’s an option for Color Space. It’s set to Gamma, changing it to Linear makes everything much darker.

I do wonder if it’s related to gamma correction. In the changelist for the first 6000 release, 6000.0.0f1, it says “Fixed Gamma colorspace rendering”. That looks suspicious.
https://alpha.release-notes.ds.unity3d.com/search?fromVersion=2023.1.7f1&toVersion=6000.0.14f1

the only difference i can see other trhan minor angle, items (no smoke etc) is the platform extending out of the house has a darker end in the new lighting… everything else looks similar enoujgh. In the bottom one the angle of light seems different, such as later in a day/night cycle as the shadow is shorter in the lower one.

Looks like missing environment lighting to me. This data used to be automatically generated on older versions, but isn’t anymore. Try Window > Rendering > Lighting > Generate Lighting button.

Ah that was it, thanks for your help! My game doesn’t use baked lighting so I didn’t realize it would be affected by that.

It was also really messing up all the reflections in objects with metallic PBR materials - you can’t really see it in the screenshot (and I only realized after I posted this) but anything metallic suddenly looked terrible. After clicking that button they look much better but still a bit different, and wrong when the day/night cycle changes. I think I’m going to have to learn about the Lightmapping.BakeAsync function - anyway thanks.

What you might want to do is shift to using a gradient color for the ambient color. Then you can change it dynamically.

It’s how stuff like cozy sky works.

What sacb0y mentioned works. You can also do something like what I posted here [Solved] SceneManager.LoadScene() make the scene darker... a bug?

Unity has never had a system for automatically updating environment light at runtime anywhere else than in HDRP. There used to be a system that would automatically update it in editor, but it only worked in editor, in edit mode.

I’m using AmbientMode.Flat for the ambient color - my understanding is that would be the same as using a gradient (AmbientMode.Trilight) except with one color instead of 3? In terms of being able to change it dynamically, I mean (which I do). I set RenderSettings.ambientLight every frame, to a color that changes from day to night.

I found that adding a ReflectionProbe (that just renders the skybox) fixed my metallic surfaces. Somehow I made a game in Unity without ever adding any reflection probes up till now, I think it must have just been using the ambient probe by default? And maybe it stopped generating that by default in 2023.2.0f1? So clicking Generate Lighting generated it, but for the scene in the editor, at a fixed point in time, which was not quite right. My reflection probe now will keep updating as the game is played and the sun moves across the sky. I guess that’s pretty much what you are suggesting in your link.

It looks pretty much how it used to now, but is there anything else I should be updating regularly, that I maybe haven’t been? In the link you also suggest calling DynamicGI.UpdateEnvironment but that doesn’t seem to affect anything, presumably because I’m not using either the “Enlighten Realtime Global Illumination” or “Baked Global Illumination” systems.

And I would hope this change was made cause the function is coming XD

This is correct

Not really.

Since you’re using Unity 6 now you could try APV and Sky occlusion?

This would give more localized ambient light for like inside scenes or overpasses. Sky occlusion basically helps darken areas not directly lit and works with the ambient color.

Unity 6’s New Global Illumination Lighting Features

But I would say this is optional if you’re happy with your games style/lighting

1 Like