Volume component reference for URP
Post-processing Volume Overrides reference for URP

Troubleshooting volumes

Identify and resolve common issues when working with volumes.

Volume settings aren’t updated via scripting

Changing the values of a Volume Profile currently assigned as Default Volume Profile or Quality Volume Profile through scripting has no effect.

Cause

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.

Resolution

To resolve this issue, use one of the following options.

Create a Global Volume in a scene and override properties using it

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:

  1. Add a Global Volume to the scene.
  2. Add a Volume Override to the Global Volume.
  3. In the Volume Override InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
    See in Glossary
    window, enable the property you want to change.
  4. Modify the corresponding property in your script.

Unity updates the property correctly because it’s not tied to the cached values.

Recache the initial 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.

Additional resources


Did you find this page useful? Please give it a rating:

Volume component reference for URP
Post-processing Volume Overrides reference for URP