Identify and resolve common issues when working with volumes.
Changing the values of a Volume Profile currently assigned as Default Volume Profile or Quality Volume Profile through scripting has no effect.
Unity caches the values of the Project settingsA broad collection of settings which allow you to configure how Physics, Audio, Networking, Graphics, Input and many other areas of your project behave. More info
See in Glossary for volumes at startup or when you edit the values through the Unity Editor. This means that changes to these settings in your script will not affect your sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary unless you explicitly update the cache. For more information, refer to Understand volumes in URP.
To resolve this issue, use one of the following options.
Create a Global Volume in a scene and override the properties of a Default Volume Profile using it. Unity doesn’t cache properties of a Global Volume defined in your scene.
To configure a Volume Profile to receive updates via a script:
Unity updates the property correctly because it’s not tied to the cached values.
You can explicitly force the volume framework to recalculate its cached values by using the VolumeManager.instance.OnVolumeProfileChanged(volumeProfile) method after modifying a value.
Important: Forcing the volume framework to recalculate the cache adds extra workload. This can decrease the performance of volume interpolation in your project. Use this method only when necessary.