How to Use

βœ… Step 1 – Place the Volume in Your Level

Navigate to: RenderTools > Blueprints > BP_PerformanceVolume Then drag it into your level wherever dynamic rendering control is needed.


🏷 Step 2 – (Optional) Set Trigger Actor Tag

By default, the volume finds the player using GetPlayerPawn() β€” this works out of the box in single-player setups.

If you're using a custom character or multiplayer setup, you can define a specific Trigger Actor Tag. The system will then look for any actor with this tag and use it as the triggering actor.

πŸ’‘ Leave it as None to use the default player detection.


🧩 Step 3 – Configure the CVar Behavior

In the Details panel, go to Render Tools > Volume Triggers

Each trigger lets you override a specific console variable based on the player’s scalability setting.

You'll need to set:

  • CVar – The console variable to affect (e.g. r.Lumen.ScreenProbeGather.DownsampleFactor)

  • Scalability – What category this setting belongs to (e.g. Global Illumination, Reflections, Shadows, etc.)


πŸ§ͺ Step 4 – Set Default and Volume Values

Set two arrays of values (5 elements each) that correspond to Unreal's scalability levels:

Index
Scalability Level

0

Low

1

Medium

2

High

3

Epic

4

Cinematic

  • DefaultValue – What the engine would normally use for that CVar

  • VolumeValue – What you want to override it to when the player enters this volume

πŸ’‘ This is a 1-to-1 mapping. When the player’s Global Illumination quality is set to "High", it uses index 2.


▢️ Step 5 – Test in Play Mode

Play your scene and walk through the volume. The tool will detect the player's current scalability setting and override the selected CVars accordingly.

Use the Output Log to verify that values are being set correctly.

Last updated