API Reference Every public type this plugin ships. Types owned by another module are marked.
Core types Type Kind Purpose UCrimsonAbilitySystemComponentComponent The ASC. Cooldowns, modifiers, tag stacks, effect stacks, augment slots, input routing. UCrimsonGameplayAbilityAbility Base ability with activation policy/group, costs, configurable values, augment broadcast. UCrimsonAbilitySystemGlobalsGlobals MUST be registered in DefaultGame.ini. Allocates FCrimsonGameplayEffectContext. FCrimsonGameplayEffectContextStruct Effect context carrying ability source and augment provenance. UCrimsonAttributeSetAttribute set Base for your attribute sets. UCrimsonAbilitySystemSettingsSettings Project Settings -> Crimson -> Crimson Ability System. UCrimsonAbilitySystemStaticsLibrary GetSetByCallerMagnitudeFromHandle, GetAbilitySystemComponentFromTargetData, GetPredictedMontageDuration.UCrimsonGlobalAbilitySystemSubsystem Apply/remove an ability or effect across every ASC. UCrimsonAbilityTagRelationshipMappingData asset Static block/cancel relationships by tag. ICrimsonAbilitySourceInterfaceInterface Lets a damage source describe itself to calculations.
Ability subclasses Type Key API UCrimsonGameplayAbility_WithCastTimeUpdateAbilityCastTime, GetCalculatedCastTime, ECrimsonAbilityCommitTime.UCrimsonGameplayAbility_ToggleActivates and deactivates on alternating presses. UCrimsonGameplayAbility_ChargesGetMaxCharges, GetCurrentCharges.UCrimsonGameplayAbility_ChannelingStartChanneling, StopChanneling, SetChannelTickInterval, SetMaxChannelTime, SetCancelOnMovement.UCrimsonGamePhaseAbilityA phase modelled as an ability. GetGamePhaseTag.
Costs Type Purpose UCrimsonAbilityCostBase. Override K2_CheckCost and K2_ApplyCost. UCrimsonAbilityCost_PlayerTagStackCharges a tag-stack resource.
Augments Type Purpose UCrimsonAbilityAugmentThe augment data asset - mutations, actions, stateful listeners. UCrimsonAugmentSubsystemWorld subsystem resolving augment definitions. UCrimsonAugmentActionOne-shot action base. Override Execute. UCrimsonStatefulAugmentBaseStateful listener base. Override Initialize, HandleAbilityEvent, OnRemoved. UCrimsonAugmentActorActor spawned by an augment. GetOwningAbility, GetSnapshotedValue. ICrimsonAugmentSpawnedActorInterfaceInitializeAugmentActor on spawned actors.UCrimsonAbilityContractDeclares the properties an ability exposes. UCrimsonAbilityTask_SpawnAugmentActorAbility task for augment-owned actors.
Shipped actions: _ApplyGameplayEffect, _Chance, _Conditional, _ConsumeEffectStacks, _FindTargets, _GrantAndActivateAbility, _ModifyContext, _ModifySetByCaller, _ModifySpecAttribute, _ReduceCooldown, _SpawnActor.
Shipped stateful listeners: _ApplyGameplayEffect, _EventTrigger, _HitCounter, _ModifyTags, _ReplaceAbility, _StackConsumer.
Gameplay Effect components Type Purpose UCrimsonModifierGameplayEffectComponentApplies property modifiers from an effect. UCrimsonAccumulateGameplayEffectComponentAccumulates a value across applications. UCrimsonGameplayEffectComponent_ApplyToInstigatorAlso applies the effect to the instigator. UCrimsonGameplayEffectStackingSubsystemStacking bookkeeping.
Combo system Type Purpose UCrimsonComboControllerThe runtime driver. Add to the pawn. UCrimsonComboGraphAssetThe authored graph - handshake, nodes, end points. UCrimsonComboTransitionConditionPer-step observer gating a transition's augments. UCrimsonComboEventBaseEvent base. Subclasses _Augment, _GameplayCue, _GameplayEvent, _GameplayMessage. UCrimsonComboPathLibraryBuildComboPathTree, BuildComboPathForestFromGrants for UI.UCrimsonInputTrigger_ComboEnhanced Input trigger with correct press/hold/release semantics. FCrimsonComboExtensionUPROPERTY on UCrimsonGameplayAbility declaring rooted combos and the cancel window. FCrimsonComboTransitionOne edge - input, kind, charge window, fire mode, priority, conditional augments. FCrimsonComboRuntimeNodeOne step - ability class, phase boundaries, transition window, events. ECrimsonComboFireModeIASA, PressBuffer, HoldBuffer.ECrimsonComboInputKindTap, Hold, Release.ECrimsonComboDirectionNone, Forward, Back, Left, Right, Up, Down.ECrimsonComboResetReasonWhy a combo ended - timeout, damage, death, interruption, and so on.
Combo controller functions Function Purpose HandleInputActionPressed / ReleasedRoute input. The third parameter marks a press defensive. IsComboActive / IsInCancelWindowState queries. GetCurrentCombo / GetCurrentNodeID / GetCurrentStepHandleWhat is running now. GrantDynamicCombo / RevokeComboGrant / UnlockComboGrant / LockComboGrantRuntime grant management. Server only. IsComboGranted / GetGrantedCombosForGrant queries. GrantAugmentWithLifetime / RemoveAugmentFromCurrentStep / RemoveAllAugmentsFromCurrentStepStep-scoped augment control. AddDynamicEventToNode / RemoveDynamicEvent / RemoveDynamicEventsBySourceRuntime event overlay. ResetComboEnd the current combo with a reason. GetActiveHolds / GetAvailableComboInputsUI-facing state - charge bars, input prompts. GetSaveData / ApplySaveDataPersist dynamic grants and events. SetMoveInputProviderC++ only. Supplies directional intent.
Persistence Type Purpose UCrimsonAbilityStateCarrierSubsystemGame instance subsystem holding a snapshot across travel. UCrimsonEffectPersistenceComponentPer-effect persistence bookkeeping. UCrimsonAbilityStatePersistenceSettingsProject Settings -> Crimson -> Ability State Persistence. FCrimsonAbilitySystemStateSnapshotThe captured state.
Base actors Type Derives from Purpose ACrimsonAbilityCharacterACrimsonModularCharacter (CrimsonCommon) Character with ASC access and init callbacks. ACrimsonAbilityPlayerStateACrimsonModularPlayerState (CrimsonCommon) Owns the ASC - the recommended pattern. ACrimsonAbilityPlayerControllerACrimsonModularPlayerController (CrimsonCommon) Typed ASC accessor. ACrimsonTaggedActorAActorActor carrying gameplay tags.
Settings Setting Default Purpose bEnableComboSystemfalseMaster switch. Editor restart to apply. ComboInputMappingContextunset The IMC catalog the combo input picker reads. MoveInputActionunset Sampled at press time for ECrimsonComboDirection. DefaultInputBufferTTL0.1Last resort in the buffer TTL chain. DefaultInputBufferCapacity8Ring buffer size. MoveInputDeadZone0.3Below this, direction resolves to None. ServerPingLeniencyCapSeconds0.08Cap on server window tolerance. bDefaultResetOnDamageTakentrueSeeded into new combo assets. TapMaxHoldDuration0.18Tap/Hold disambiguation threshold. RecentlyEndedBannerSeconds1.5Dev-tools cosmetic only.
Gameplay tags this plugin defines These are native tags declared by this plugin - you can rely on them existing.
Group Tags Activation failure Ability.ActivateFail.Cooldown, .Silenced, .IsDead, .ActivationGroup, .Charge.OutOfChargesAbility state Ability.State.Casting, .Channeling, .Interrupted, .Stunned, .Silenced, .Changed, .AbilityHandleChangedAbility properties Ability.Property.Cooldown, Ability.Property.PrimaryTargetCountAbility behavior Ability.Behavior.SurvivesDeathAugment events Augment.Event.OnActivate, .OnHit, .OnCrit, .OnKill, .OnEnd, .OnGranted, .OnRemoved, .OnOwnerDodge, .OnOwnerBlock, .OnOwnerDamageTakenAugment categories Augment.Category.Default, .Stat, .Behavior, .Defensive, .Trigger, .VisualPersistence Crimson.Persistence.Persist, Crimson.Persistence.DoNotPersistStatus Status.Death, Status.Cheat.Invulnerable, Gameplay.AbilityInputBlocked
Augment.Event.OnActivate does not reach combo conditions It is broadcast during the step ability's activation, before the combo controller has registered that step - so the spec filter drops it. Use OnObservationBegin instead. How-To: Gate Combo Branches with Conditions documents the full reasoning and the workarounds.
Types owned by other modules Listed for orientation. These are not shipped by this plugin.
Type Home Note UCrimsonAbilitySetCrimsonCommon The data asset used to grant abilities, effects and attribute sets. FCrimsonAbilitySet_GrantedHandlesCrimsonCommon Revoke handle returned by a grant. ICrimsonAbilitySystemOwnerCrimsonCommon Interface the PlayerState implements. ACrimsonModularCharacter / PlayerState / PlayerControllerCrimsonCommon Base classes this plugin's actors extend. UCrimsonHeroComponentCrimsonCore (requires all Crimson plugins) Turnkey input routing including the defensive-input entry points. How-To: Tune Combo Input Feel shows the standalone equivalent.