How-To: Create and Equip an Augment
Goal: make a data asset that changes one ability - more damage, an extra target, a chance to refund cooldown - and equip it onto a single ability spec at runtime.
What an augment is
An augment attaches to one ability spec, not to the character. Three things can live on it:
| Part | Type | Does |
|---|---|---|
| Mutations | FCrimsonAugmentStatMutation and friends | Change a declared property of the ability - a damage scalar, a target count, a class reference. |
| Actions | UCrimsonAugmentAction | One-shot work on an event - apply an effect, spawn an actor, reduce a cooldown. |
| Stateful listeners | UCrimsonStatefulAugmentBase | Persistent objects that accumulate across events - hit counters, stack consumers. |
1. Create the augment asset
Content Browser -> right-click -> Crimson -> Ability System -> Ability Augment. Set its Slot Category (one of the Augment.Category.* tags) - this decides which slots it can occupy.
2. Add an action
Actions run on an augment event tag. The plugin ships nine.
| Action | Does |
|---|---|
_ApplyGameplayEffect | Applies an effect to the target or the instigator. |
_Chance | Runs its children with a probability. |
_Conditional | Runs its children when a tag query passes. |
_ConsumeEffectStacks | Spends stacks of an effect. |
_FindTargets | Gathers targets for the actions after it. |
_GrantAndActivateAbility | Grants an ability and activates it immediately. |
_ModifyContext | Edits the effect context (crit flags, source data). |
_ModifySetByCaller | Changes a SetByCaller magnitude on the outgoing spec. |
_ModifySpecAttribute | Changes an attribute-backed value on the spec. |
_ReduceCooldown | Shortens a cooldown by tag. |
_SpawnActor | Spawns an actor tied to the ability lifetime. |
Augment.Event.OnHit, Augment.Event.OnCrit, Augment.Event.OnKill and the defensive ones (OnOwnerDodge, OnOwnerBlock, OnOwnerDamageTaken). The ability must actually broadcast the tag for the action to run.3. Equip it
Equipping is server-authoritative. Slots are per-ability and come in two pools: Fixed slots declared by the ability, and Temp slots used for transient grants like combo rewards.
On the ASC: Equip Augment To First Free Slot (simplest), Try Equip Augment To Slot (a specific index), or Equip Augment To Temp Slot. Query first with Get Available Slots For Ability.
Remove with Unequip Augment From Slot or Unequip Augment By Slot Address.
See also
- How-To: Declare an Ability Contract
- How-To: Write a Stateful Augment
- Concept: Augment System