Overview
WCGASAttributeModData is a Data Asset that defines how a target attribute is dynamically modified by source attributes. It allows designers to create complex attribute relationships without writing any C++ code, making derived attribute configuration a fully designer-driven workflow. These modifications are applied as infinite-duration Gameplay Effects and automatically recalculate when source attributes change.
Creating an Attribute Mod Data
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 → Attributes → Attribute Mod
- Give your new asset a descriptive name (e.g.,
DA_MaxHealthMod, DA_SpellDamageMod)
- Double-click the asset to open it and configure its properties
How Attribute Mod Data Works
Integration Flow
- Attribute Definition Configuration
- Create a target Attribute Definition (e.g.,
DA_MaxHealth)
- Assign the Attribute Mod Data to its
AttributeModData property
- Register the Attribute Definition in Project Settings
- Automatic Application at Runtime
- When an ASC initializes attributes, the WCGASAttributeRegistry detects attributes with
AttributeModData set
- Creates an infinite-duration Gameplay Effect for each source attribute
- Uses custom MMC (Mod Magnitude Calculation) classes to evaluate formulas
- Applies effects to the ASC automatically
- Dynamic Recalculation
- When a source attribute changes (e.g., Constitution increases from 10 to 11)
- GAS automatically recalculates all Gameplay Effects that depend on it
- Target attributes update immediately (MaxHealth increases by 10)
- No manual refresh or update calls required
- Formula Evaluation
- Piecewise Cumulative (Linear, SoftCap, Threshold, ClampedLinear):
- Each tier calculates only the portion within its range
- All contributions are summed together
- Evaluate at Boundaries (Exponential, Curve, Logarithmic, etc.):
- Evaluates formula at range boundaries
- Subtracts to get tier contribution
Configuration Properties
Source Attributes Array