Quality Settings - decentraland/unity-explorer GitHub Wiki
Quality Settings Asset unites every required setting that's normally scattered around different menus and assets in Unity.
Quality Debug Widget provides a capability to change the quality level at runtime and modify individual pre-scripted settings.
Default Quality Settings
The settings that you can find at Project Settings are drawn in our asset to keep everything in one place.
Renderer Features
Some settings such as Ambient Occlusion are represented by a renderer feature.
In Unity, it's already possible to have different Renderers per quality level.
In Quality Settings a shortcut to them is drawn so it's possible to modify them without going down all the references.
The same asset will be modified so all the changes are reflected automatically.
You can make changes to the RendererFeatures and they will be reflected automatically at runtime.
At runtime there is a possibility to toggle every possible renderer feature. However, Unity has a natural limitation: every feature should be added at the Editor time, it can't be added at runtime but it can be switched on/off.
Currently, it's provided by the Debug View but in the future, it's easy to connect to the prod-ready flow (e.g. Settings View)
Volume Profile
A lot of Post-Processing effects are provided by the Volume feature of URP. The full list of the built-in effect you can find at https://docs.unity3d.com/Packages/[email protected]/manual/EffectList.html
Quality Settings support different sets of VolumeComponents per quality level.
The system automatically maintains a global volume on the scene and modifies it accordingly on quality level selection.
You can make changes to the VolumeProfile and they will be reflected automatically at runtime.
Lens Flare
Presets for Lens Flare are automatically generated for each quality level, and, thus, can be changed individually.
The system automatically maintains an instance of the prefab if Lens Flare is enabled.
However, the configuration of the Lens Flare (SRP) is stored on the component, not on the asset. Thus, if you modify the prefab itself you will need to switch the quality level to reflect the changes.
Simple Fog
Provides a possibility to control Fog per quality level
Fog requires support from the shader side. If it's not supported then Fog will not affect such assets at all
Custom behavior is applied at Editor Time.
If Update In Editor is ticked then all the aforementioned behavior is applied to the currently open scene automatically.
If the game is launched from the Main scene it's always applied at runtime.