UCAnimInstance is the custom UAnimInstance subclass used by all characters. It provides a typed variable system for driving AnimBlueprint state, automatic computation of speed/direction/lean/slope, montage priority management, and integration with the combat state machines. CMontageNotifier defines the AnimNotify classes used for combat events.
Named animation sequences from FCCharacterDetailMaker::animSequenceMap
cdryxBlendSpaceMap
Named blendspaces from FCCharacterDetailMaker::blendspaceMap
setPriority
Sets montage priority for the priority-based playback system
comparePriority
Compares two montage priorities (used by ICAnimePrioritizer)
// Typed variable system — used in AnimBlueprint via BlueprintCallable getters:
animInstance->writeAnimBoolVar(CAnimBoolVar::CDRYX_FIGHTING, true);
bool fighting = animInstance->readAnimBoolVar(CAnimBoolVar::CDRYX_FIGHTING);
float speed = animInstance->readAnimFloatVar(CAnimFloatVar::CDRYX_SPEED);
float direction = animInstance->readAnimFloatVar(CAnimFloatVar::CDRYX_DIRECTION);
// FName-based variants for custom variables (not in the enum):
animInstance->writeAnimBoolVar_(FName("MY_CUSTOM_BOOL"), true);
bool custom = animInstance->readAnimBoolVar_(FName("MY_CUSTOM_BOOL"));
// Every write triggers moveOnAllSimpleStateMachine() to advance combat state machines.
Bool Variables (CAnimBoolVar)
Name
Description
CDRYX_FALLING
True when the movement component reports falling
CDRYX_ACCELERATING
True when current acceleration is non-zero
CDRYX_SPRINTING
Sprint state
CDRYX_FIGHTING
Fight mode active
CDRYX_TOPVIEWING
True when spring arm does not inherit pitch (top-view mode)
CDRYX_INTERRUPTED
Set by C_INTERRUPTED_AN notify window
Float Variables (CAnimFloatVar)
Name
Description
CDRYX_SPEED
2D velocity magnitude
CDRYX_DIRECTION
Movement direction relative to actor rotation
CDRYX_SLOPE_ANGLE
Pitch angle between previous and current location (terrain slope)
AnimNotify classes for combat events. Each notify triggers a named event consumed by UCCombotterComponent and UCAnimInstance.
Name
Notify Name
Description
UCHit_MontageNotifier
C_HIT_AN
Melee hit detection point
UCCanCombo_MontageNotifier
C_CANCOMBO_AN
Opens the combo window
UCNoMoreCombo_MontageNotifier
C_NOMORECOMBO_AN
Closes the combo window
UCStartBlock_MontageNotifier
C_STARTBLOCK_AN
Block becomes active
UCEndBlock_MontageNotifier
C_ENDBLOCK_AN
Block ends
UCStartRange_MontageNotifier
C_STARTRANGE_AN
Range attack ready (can shoot)
UCShotRange_MontageNotifier
C_SHOTRANGE_AN
Projectile launch point
UCEndRange_MontageNotifier
C_ENDRANGE_AN
Range attack ends
UCInterrupted_MontageNotifier
C_INTERRUPTED_AN
Notify window: sets/clears CDRYX_INTERRUPTED bool
// Montage notifiers are placed on AnimMontage timelines in the editor.
// They fire named events that drive the combat state machines:
// C_HIT_AN -> UCCombotterComponent::whatIfHitMelee()
// C_CANCOMBO_AN -> opens combo window in attack state machine
// C_NOMORECOMBO_AN -> forces combo window close
// C_STARTBLOCK_AN -> transitions block STM to S_BLOCKING
// C_ENDBLOCK_AN -> transitions block STM to S_NOT_BLOCKING
// C_STARTRANGE_AN -> transitions range STM to S_BOW_DRAWING
// C_SHOTRANGE_AN -> triggers projectile launch
// C_ENDRANGE_AN -> transitions range STM to S_ATTACK_FINISHED
// C_INTERRUPTED_AN -> window notify: sets/clears CDRYX_INTERRUPTED bool