Concept: Combo System
The combo system chains discrete abilities into designer-authored, branching sequences. It is structured the opposite way from most UE combo solutions: each step is its own ability, and a separate graph asset describes how steps chain.
Why one ability per step
The step owns its montage, its damage, its costs, its cooldown and its augment slots, because it is a normal ability and GAS already handles all of that. The graph owns only the topology: which step follows which, on what input, under what conditions.
The trade-off is real and worth stating: one activation per step means one ServerTryActivateAbility per step, plus the controller's own transition RPC. A four-hit string is more round trips than a single ability looping through montage sections would be. In exchange every step gets per-step gameplay data for free.
The three layers
| Layer | Lives in | Holds |
|---|---|---|
| Topology | The combo graph asset | Steps, transitions, entry handshake, end points. |
| Per-step numbers | The step node | Phase boundaries, transition window, buffer overrides, events. |
| Execution | The step ability | Montage, damage, cost, cooldown, augments. |
Runtime flow
rooting ability activates-> controller arms a root watcher for its cancel window-> player presses; the press is buffered and matched against the starting handshake-> StartCombo -> EnterNode: activate the step ability, open its transition window-> a matching press inside the window fires a transition -> EnterNode again-> an End node reaches ComboCompleted; a closed window with nothing queued resets
Where conditions fit
Each transition may carry conditional augments gated by a UCrimsonComboTransitionCondition. The condition observes the current step and decides at fire time whether the reward is granted - the difference between "you pressed in time" and "you actually connected". See How-To: Gate Combo Branches with Conditions.
What it does not do
- It does not play montages - the step ability does.
- It does not read AnimNotifies. Windows are authored numbers scaled by play rate, not notify-driven, so a missed notify on a dedicated server cannot desync the combo.
- It does not run on simulated proxies. Remote players see combos through the replicated ability montages only.
See also
- How-To: Author a Combo
- How-To: Tune Combo Input Feel
- Concept: Multiplayer and Prediction