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.
| 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) |
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
| 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 |
The volume delegates context management to UWCGASWorldContextSubsystem:
| Event | Subsystem Call |
|---|---|
| Actor enters | RegisterActorInZone(Actor, ContextTag, Priority, this) |
| Actor exits | UnregisterActorFromZone(Actor, ContextTag, this) |