volume
Place and configure level volumes: blocking, trigger, post-process, audio, nav, lighting, kill-Z.
What it’s for
A volume is a box-shaped actor in your level whose bounds govern some behavior inside them: what can pass through, what triggers gameplay, how the scene looks, how it sounds, where the AI can walk, or how it is lit. This namespace places those volumes and configures them, so you can block off a stairwell, drop a trigger over a doorway, or tint a whole room with a post-process volume without hand-placing and hand-tuning each one in the editor.
It covers the full family: blocking and camera-blocking, trigger boxes / spheres / capsules, post-process, physics and pain-causing, audio and reverb, nav mesh bounds and nav modifiers, Lightmass importance, precomputed visibility, cull distance, and kill-Z. You can create a volume from scratch at a world location, add one at an existing actor's location, resize its bounds, set type-specific properties, list what is already in the level, and remove volumes you no longer need.
Reach for volume when the thing you want to place is a region of space that changes
behavior. Use the sibling actor namespace instead when you are placing ordinary
scene actors (meshes, lights, blueprints) rather than bounded regions.
Examples
Tint a room with a post-process volume
Drop a bounded post-process volume over an area so the look changes only inside it.
You: Add a post-process volume over the boss arena, priority 1, blend radius 200.
call("volume.create_post_process_volume", {volumeName:"PPV_BossArena",
location:{x:1200, y:0, z:300}, extent:{x:800, y:800, z:400},
priority:1, blendRadius:200})
→ {ok:true, volumeName:"PPV_BossArena"}
Done. PPV_BossArena placed over the arena, priority 1.
Drop a trigger box over a doorway
Create a trigger box at a spot so gameplay can react when something enters it.
You: Put a trigger box on the north door so we can fire an event when the player walks in.
call("volume.create_trigger_box", {volumeName:"TB_NorthDoor",
location:{x:0, y:640, z:100}, boxExtent:{x:120, y:60, z:150}})
→ {ok:true, volumeName:"TB_NorthDoor"}
Done. TB_NorthDoor placed at the north door.
Add a kill-Z floor under the map
Place a wide, thin kill-Z volume below the playable space to catch anything that falls out.
You: Add a kill-Z volume 500 units below the level so fallers get removed.
call("volume.create_kill_z_volume", {volumeName:"KillZ_Floor",
location:{x:0, y:0, z:-500}, extent:{x:10000, y:10000, z:100}})
→ {ok:true, volumeName:"KillZ_Floor"}
Done. KillZ_Floor spans the map at z -500.