Purpose

A placeable volume actor that applies world contexts to overlapping actors. Use for biome zones, magical areas, or any location-based context with built-in collision detection.

When to Use

Properties

Property Type Description
ContextTag FGameplayTag The context tag applied to overlapping actors
Priority int32 Zone priority. Higher values win conflicts. Default: 0, Range: 0-100
bIsActive bool Whether volume is currently active. Default: true
RequiredActorTags FGameplayTagContainer Only actors with ALL these tags receive context
BlockedActorTags FGameplayTagContainer Actors with ANY of these tags are excluded
BoxComponent UBoxComponent* The collision volume (default 200×200×200 units)

Priority Resolution

When an actor overlaps multiple volumes with the same context tag:

Example:
├── Forest Zone (Priority 10)
└── Dense Forest Zone (Priority 20)

Actor in both → Dense Forest context active
Actor exits Dense Forest → Regular Forest context activates

Blueprint API

Runtime Control

Function Returns Description
SetVolumeActive(bool) void Enable/disable volume at runtime
IsVolumeActive() bool Check if volume is active
RefreshOverlappingActors() void Re-evaluate all overlapping actors against filters
GetOverlappingContextActors() TArray<AActor*> Get all actors currently receiving context

Subsystem Integration

The volume delegates context management to UWCGASWorldContextSubsystem:

Event Subsystem Call
Actor enters RegisterActorInZone(Actor, ContextTag, Priority, this)
Actor exits UnregisterActorFromZone(Actor, ContextTag, this)