Overview

WCGASEventSubsystem is a Game Instance Subsystem that provides centralized event broadcasting for Gameplay Ability System events. It bridges the gap between GAS's C++-centric architecture and Blueprint-focused designers, allowing them to respond to attribute changes, threshold crossings, and zero events without writing C++ code or creating custom Gameplay Abilities.


Purpose

The Event Subsystem empowers Blueprint-only designers by providing:


How It Works

Initialization Flow

  1. Subsystem Startup: When the GameInstance initializes, this subsystem automatically loads via Unreal's subsystem framework
  2. Delegate Setup: Initializes internal data structures for binding management in Initialize()
  3. Ready for Binding: Blueprint and C++ code can now bind to global delegates or create targeted bindings
  4. Event Integration: WCGASAttributePool calls broadcast functions during attribute modifications

Broadcasting Flow

When attributes are modified:

  1. WCGASAttributePool detects attribute changes in PostGameplayEffectExecute() or PreAttributeChange()