Global Illumination changes with the 2023.2 beta tech stream, we want to hear your feedback (survey is now closed)!
Hi all, following on from our request for feedback with the previous tech release, we now want to hear about your experience using the changes to global illumination we delivered with 2023.2 beta. We do this so that we can make sure we are providing you with the best products for your day to day experience in Unity.
If you have experience with using the global illumination changes delivered with the 2023.2 beta release, please help complete the survey linked below (survey has been extended to close October 27th, 2023):
- This survey is now closed, thanks for your responses.
Whatâs changing with the 2023.2 release?
Unityâs Lightmappers
GPU Lightmapper - Out of Preview
The GPU Lightmapper allows for much faster baking of lightmaps and Light Probes as compared to the CPU Lightmapper. This baking backend will help with the iteration speed of baking in your projects, specially when larger scenes, larger number of probes or higher resolution of lightmap textures are involved.
We have removed the preview label for the GPU Lightmapper in 2023.2, making this lighting baking solution an officially supported feature.
Unity provides a âBaking Profileâ. This can be found in the Lighting window when using the GPU backend in on-demand mode, and offers users a tradeoff between performance and GPU memory usage when baking lightmaps.
The âBaking Profileâ can be found in the Lighting window when using the GPU backend in on-demand mode
With this improvement, we have removed fall back behavior from GPU Lightmapper to the CPU Lightmapper. Instead of silently falling back from GPU Lightmapper to the CPU Lightmapper, now the bake process will stop and provide a clear Console message to explain why. However, with the lower memory consumption from the Balanced baking profile, we expect the number of failures to be significantly lower.
Note that for light baking some Scenes will simply not fit into GPU memory. This can become noticeable when processing large Scenes with many objects, dense geometry and/or using many high resolution textures, for instance for transparency. In these cases the CPU Lightmapper can be used instead.
Auto-Mode is now removed and now an Interactive GI Debug Preview Mode
Iteratively authoring and troubleshooting baked lighting data is an important use case for creators using baked Global Illumination (GI). For this reason, we have added a new âInteractive previewâ functionality to various GI-related Scene View Draw Modes.
When entering one of the relevant view modes, a contextual panel will appear in the scene view, letting the user enter interactive preview mode. This feature works similarly to the Auto Generate lighting mode (which has been removed), but is completely non-destructive, and will not affect any existing baked lighting data. This allows our users to experiment while troubleshooting baked lighting, without having to do a full On Demand rebake after each change, overwriting existing baked data in the process.
Auto Generate has been replaced with an interactive and non destructive preview in the scene view debug modes
New default Lighting Data Asset for newly created Scenes (replacing Sky Manager)
Since the 2019 release, Unity has provided a system for automatically generating baked environment lighting in scenes that havenât been baked explicitly. This is used in Built-In and URP, and is known as the SkyManager. We noticed that this system was causing confusion for our users, as the automatic behavior wasnât very clear, and was only present in a few specific situations. On top of this, the system caused differences in the behavior of the Editor and built Player, sometimes leading to the environment lighting being unexpectedly missing.
We are simplifying the behavior by removing the SkyManager for Built-In and URP. To replace it, weâve embedded a new default Lighting Data asset into the editor, which will be automatically assigned to newly created scenes. The asset contains environment lighting matching the default settings for environment lighting. If you change these settings, you will have to manually rebake lighting using the âGenerate Lightingâ button in the Lighting Window (this command is now assigned to hotkey Ctrl+Shift+L).
Before: no LightingData asset was assigned by default. After: a LightingData asset with correct data is now automatically assigned when creating a new scene
Probe tools have been adapted to the Standard Tools API for UX Consistency
An inconsistent user experience in the editor can break our usersâ flow of creation. Where possible, tools in the editor should behave consistently to reduce cognitive load.
As part of a wider effort to create a consistent user experience between various tools in the editor, this feature addresses consistency of workflows for editing Light Probe Groups. The previous inspector-based editing workflow has been replaced by an Overlay in the scene view, which can be accessed through the main Scene View Toolbar while a Light Probe Group is selected.
Before: the Light Probe visualization tools were located in the Lighting window. After: tools are now located in the Scene view menu
Movable LightProbes.positions
Creators often build modular content for their projects using multiple Scenes. These scenes are then loaded and repositioned at runtime. Previously, when building modular content including Light Probes, creators were unable to reposition these together with their Scene, because the positions of baked Light Probes were read-only.
This feature provides creators with an API that allows them to modify light probe positions for specific scenes after probes have been baked. Check the LightProbes.SetPositionsSelf documentation for a starting point on how to use the API. This API only applies to probes baked using Light Probe Groups and not Adaptive Probe Volumes.
Multiple clones of a few baked template scenes being additively loaded. Here, probes are being translated to new positions at runtime.
Adaptive Probe Volumes
HDRP Streaming Data from Disk
Light probe data doesnât always fit in runtime memory, especially in large environments - this prevents creators from fulfilling their vision. Without disk streaming, the CPU memory footprint of all probe data in large scenes may be too big to fit.
This feature will enable creators to build more ambitious games with larger light-probe lit environments that are streaming to the runtime from disk. It pulls probe data from disk in time to be used for runtime, and can now be found as an option on the HDRP assets to enable disk streaming per quality level.
An option âEnable Disk Streamingâ is now available in the HDRP asset
URP Per-Vertex Quality Setting for APV
Previously, APV supported only per-pixel quality indirect lighting. This may be unsuitable for a range of mobile devices, as it can lead to APV running below levels of acceptable performance at runtime.
With per-vertex quality settings for APV, we enable creators to set a per-vertex quality level for indirect lighting from light probes that enables them to efficiently run light probe lit environments on mobile devices. The trade-off for higher performance with per-vertex quality APV may be lower frequency indirect lighting as compared to per-pixel quality.
Per-Vertex sampling is now available for Probe Volumes. It can be useful for trading performance over quality depending on the geometry complexity
Note that the following limitations for APV in URP still apply:
- Lighting Scenarios Blending is not supported
- Lighting Normalization for Reflection probes is not supported
- Performance on mobile may still require further optimization
Find the feedback request for the 2023.1 global illumination changes here .