Concept: Augment System

Augments answer "how do I make THIS instance of this ability different" without duplicating the asset or branching inside it.

Scope

An augment attaches to one FGameplayAbilitySpecHandle. Two characters with the same ability granted can carry entirely different augments; the ability asset never changes.

The three parts

PartWhen it runsHolds state?
MutationOn property readNo - it transforms a value.
ActionOn an event tagNo - one shot.
Stateful listenerOn an event tagYes - accumulates across events.

Slots

Slots are typed by Augment.Category.* tag and split into two pools. Fixed slots are the ability's declared capacity. Temp slots hold transient grants - a combo transition's reward is equipped into a temp slot and unequipped when the step ends.

Lifetimes

LifetimeRemoved when
UntilStepEndsThe current combo step exits.
UntilComboEndsThe combo finishes or resets.
ForDurationSecondsA timer expires.
ForUseCountIt has been used N times.
PermanentExplicitly removed.
Stacking scales potency
With Stack Mode = Potency, re-granting an already-equipped augment increments its stack count and the effective level becomes BaseLevel + (StackCount - 1). That is the mechanism behind "damage grows as the combo continues" - no condition required.

See also

  • How-To: Create and Equip an Augment
  • How-To: Write a Stateful Augment