Overview
WCGASClassSets is a Data Asset that defines class set systems for the Wonderscape Creations GAS Ally plugin. It groups related class rules under a single ClassGroupIdentifier tag, enabling flexible multi-class and cross-group combining systems without writing any C++ code, making class system creation a fully designer-driven workflow. Each ClassSets asset is reusable and can organize classes by theme, archetype, or game system (e.g., "MartialClasses", "MagicClasses", "CraftingProfessions").
Creating a Class Sets Asset
Using the Wonderscape GAS Ally Menu
- Open the Content Browser
- Right-click in any folder where you want to create the asset
- Navigate to: Wonderscape GAS Ally > Heritage > Class Set
- Give your new asset a descriptive name (e.g.,
DA_MartialClasses, DA_MagicClasses, DA_HybridClasses)
- Double-click the asset to open it and configure its properties
How Class Sets Works
Class System Architecture
-
Class Group Organization
- Create multiple ClassSets assets to organize classes by theme or system
- Each ClassSets has a unique
ClassGroupIdentifier tag (e.g., Character.ClassGroup.Martial)
- Within each group, add individual class data entries (Warrior, Rogue, Ranger, etc.)
- Each class data entry defines stat gain logic for its specific class
-
Multi-Class Actor Setup
- Actors have array of
ActorClassTags (e.g., ["Character.Class.Warrior", "Character.Class.Mage"])
- Tags can span multiple ClassSets groups (hybrid/multi-class characters)
- System automatically finds all matching class rules across all groups
- Calls
CalculateStatGains() on each matching rule when actor levels up
-
Combining Flow (Two-Phase)
Phase 1 - Within-Group Combining:
- Classes from the same ClassSets group combine first
- Uses the group's
StatGainCombineMode (Additive, Maximum, WeightedAverage, Priority)
- Example: Actor has
[Warrior, Rogue] (both in "Martial" group)
- Warrior: +3 STR, +1 CON
- Rogue: +1 STR, +3 DEX
- Combined (Additive): +4 STR, +3 DEX, +1 CON
Phase 2 - Cross-Group Combining:
- Results from each group combine using
WCGASAllySettings.CrossGroupCombineRules
- Example: Actor also has
[Mage] (in "Magic" group)
- Martial result: +4 STR, +3 DEX, +1 CON
- Magic result: +5 INT, +2 WIS
- Final result depends on cross-group rules configuration
-
System Integration
- ClassSets assets are referenced in
WCGASAllySettings.ClassSets array
- When actor levels up, heritage subsystem:
- Queries all ClassSets assets for matching class data
- Executes each rule's
CalculateStatGains() logic
- Combines results using within-group modes
- Applies cross-group combining rules
- Applies final stat gains to actor's Ability System Component
Configuration Properties
Identity