CrimsonAbilitySystem
Config/DefaultGame.ini before anything runs:[/Script/GameplayAbilities.AbilitySystemGlobals]AbilitySystemGlobalsClassName=/Script/CrimsonAbilitySystem.CrimsonAbilitySystemGlobalsWithout that line,
MakeEffectContext returns the engine context instead of FCrimsonGameplayEffectContext and every feature that reads Crimson context data breaks. Quick Start does this in step 1.CrimsonAbilitySystem is the foundation layer for GAS-based combat. It gives you an UCrimsonAbilitySystemComponent with cooldown manipulation, tag-driven modifiers, effect-stack helpers and tag stacks; a UCrimsonGameplayAbility base with activation policies, activation groups, cost hooks and a configurable-value API; four ready-made ability shapes (cast time, toggle, charges, channeling); a data-asset-driven Augment system that mutates individual ability specs at runtime; and an optional graph-authored Combo system that chains abilities into branching, client-predicted sequences.
It ships no game-specific content - no attributes, no abilities, no tags beyond the plumbing ones. You bring those. Every recipe in this wiki builds what it needs from scratch.
What's included
| System | Key types | Purpose |
|---|---|---|
| Ability System Component | UCrimsonAbilitySystemComponent | Cooldown reset/reduce, tag-based and ability-specific modifiers, dynamic tag rules, effect-stack consume, tag stacks, augment slots. |
| Gameplay Ability | UCrimsonGameplayAbility | Activation policy + activation group, cost hooks, configurable values, ability-family tags, augment event broadcast. |
| Ability shapes | UCrimsonGameplayAbility_WithCastTime, _Toggle, _Charges, _Channeling | Four common patterns as subclasses so you do not re-implement them. |
| Ability costs | UCrimsonAbilityCost, UCrimsonAbilityCost_PlayerTagStack | Pluggable, stackable cost objects evaluated before activation. |
| Attributes | UCrimsonAttributeSet | Base attribute set with the init/clamp plumbing; you define the actual attributes. |
| Augments | UCrimsonAbilityAugment, UCrimsonAugmentAction, UCrimsonStatefulAugmentBase | Data assets that attach mutations, one-shot actions and stateful listeners to a single ability spec. |
| Ability contracts | UCrimsonAbilityContract | Declares which properties an ability exposes, so augment authoring becomes dropdowns instead of free text. |
| Gameplay Effect components | UCrimsonModifierGameplayEffectComponent, UCrimsonAccumulateGameplayEffectComponent, UCrimsonGameplayEffectComponent_ApplyToInstigator | Effect-side behavior without subclassing UGameplayEffect. |
| Game phases | UCrimsonGamePhaseAbility, UCrimsonGamePhaseSubsystem | Mutually-exclusive match phases modelled as abilities. |
| Combo system (optional) | UCrimsonComboController, UCrimsonComboGraphAsset, UCrimsonComboTransitionCondition | Graph-authored ability chaining with input buffering and client prediction. OFF by default. |
| Persistence | UCrimsonAbilityStateCarrierSubsystem, UCrimsonEffectPersistenceComponent | Carry ASC state across a level transition. |
| Base actors | ACrimsonAbilityCharacter, ACrimsonAbilityPlayerState, ACrimsonAbilityPlayerController | Optional starting points with the PlayerState-owns-ASC pattern already wired. |
Plugin dependencies
Crimson plugins
| Plugin | Why |
|---|---|
CrimsonCommon | Required. Supplies UCrimsonAbilitySet, ICrimsonAbilitySystemOwner, the ACrimsonModular* base actors this plugin's base actors derive from, the logging macros, and the message subsystem. |
Engine modules and plugins
| Module | Why |
|---|---|
GameplayAbilities | The GAS runtime this plugin extends. |
GameplayTasks | Ability task infrastructure. |
GameplayTags | Tags used throughout. |
EnhancedInput | UInputAction identity for combo input and the combo input trigger. |
DeveloperSettings | UCrimsonAbilitySystemSettings. |
NetCore | Private. FGameplayEffectContext::NetSerialize. |
IrisCore | Private. Replication support. |
UCrimsonAbilitySet - the data asset you grant abilities with - lives in CrimsonCommon, not in this plugin. So do the ACrimsonModular* classes that this plugin's base actors extend. They are documented here because you cannot use this plugin without them, but their home is CrimsonCommon.Where to go next
How-To: Get the Building Blocks is the lookup page for "how do I get the ASC / the settings / the subsystem from here" and every other page assumes it.
After that, pick by need: How-To: Make a Cast-Time Ability for ability shapes, How-To: Create and Equip an Augment for runtime ability mutation, or How-To: Author a Combo for attack chaining.