Concept: Gameplay Ability
UCrimsonGameplayAbility adds three things to UGameplayAbility: a declared activation policy, an activation group, and a configurable-value API that augments can hook.
Activation policy
| Policy | Activates |
|---|---|
OnInputTriggered | When its input tag is pressed. The common case. |
WhileInputActive | Repeatedly for as long as the input is held. |
OnSpawn | As soon as it is granted, without input. |
Activation groups
The group decides what an ability does to the others already running - independent, blocking, or replaceable. This is where you express "you cannot dodge mid-swing" as a rule rather than as per-ability tag containers. Pair it with How-To: Block and Cancel by Tag.
Configurable values
GetConfigurableValue and its siblings resolve a property tag against the ability's defaults and then apply the augment mutations equipped on that specific spec. Two players running the same ability get different numbers without either asset being edited.
Failure reporting
Activation failures are reported as tags - Ability.ActivateFail.Cooldown, Ability.ActivateFail.Silenced, Ability.ActivateFail.IsDead, Ability.ActivateFail.Charge.OutOfCharges - and surfaced to the owning client so UI can react without polling.
See also
- How-To: Add Ability Costs
- Concept: Ability Subclasses