Purpose

A lightweight component that bridges external volume systems (weather plugins, third-party zone systems, etc.) to the WC GAS Ally World Context System without requiring class inheritance.

When to Use

Properties

Property Type Description
ContextTag FGameplayTag The context tag applied to actors (e.g., Context.Weather.Rain)
RequiredActorTags FGameplayTagContainer Only actors with ALL these tags receive context
BlockedActorTags FGameplayTagContainer Actors with ANY of these tags are excluded
bDebugLog bool Enables debug logging (non-shipping builds only)

Blueprint API

Bridge Functions (Call from your overlap events)

Function Returns Description
NotifyActorEntered(AActor*) bool Register actor entering the context area. Returns true if registered, false if filtered/invalid.
NotifyActorExited(AActor*) bool Unregister actor exiting the context area. Returns true if unregistered, false if wasn't tracked.

Query Functions

Function Returns Description
IsActorTracked(AActor*) bool Check if actor is currently receiving context from this bridge
GetTrackedActors() TArray<AActor*> Get all actors currently tracked
GetTrackedActorCount() int32 Get count of tracked actors

Management Functions

Function Description
ClearAllTrackedActors() Remove all tracked actors and their context overrides. Called automatically on EndPlay.
SetContextTag(FGameplayTag) Change context tag at runtime. Warning: Does not update already-tracked actors.

Usage Example (Blueprint)

1. Add WCGASContextBridge component to your weather/zone actor
2. Set ContextTag to "Context.Weather.Rain"
3. In your existing overlap events:
   - OnBeginOverlap → Call NotifyActorEntered(OtherActor)
   - OnEndOverlap   → Call NotifyActorExited(OtherActor)

Usage Example (C++)

void AMyWeatherVolume::OnBeginOverlap(AActor* OtherActor)
{
    if (ContextBridge)
    {
        ContextBridge->NotifyActorEntered(OtherActor);
    }
}

void AMyWeatherVolume::OnEndOverlap(AActor* OtherActor)
{
    if (ContextBridge)
    {
        ContextBridge->NotifyActorExited(OtherActor);
    }
}