Give a character its own combat animations¶
Designer · 20 min · No code · Last tested: 2026-09-30 (automated play test)
Result: one character topples, flinches, blocks, dodges, dies or celebrates a win with its own clips, while every other character keeps the shared ones. You edit one asset per character.
Before you start¶
- Add a party member or Add an enemy type
- Reactions and statuses: what Flinch, Topple and Daze are.
- Montages for your clips, on the same skeleton as the character's body. Party members animate on
the UE5 Mannequin (
SK_Mannequin), the minion onSK_Minion_Core.
How it works¶
Every reaction gameplay ability ships with its own clips: GA_XenoCore_Player_Topple plays
AM_XenoCore_Player_Topple, for everyone who has it. A character's anim profile
can override those clips for that character only.
Empty means "use the default", at every level. No profile, no row for a reaction, or an empty slot inside a row: each falls back to the ability's own clip for that slot. So you only fill in what is different. A profile with a Topple Front clip and nothing else still uses the shared clip when the character is hit from behind, and still plays the shared get-up.
Each row in a profile is keyed by a gameplay tag:
| Reaction | Key in the profile | Abilities that read it |
|---|---|---|
| Flinch (hit react) | Anim.XenoCore.Reaction.Flinch |
GA_XenoCore_Player_HitReact, GA_XenoCore_Minion_HitReact |
| Topple | Anim.XenoCore.Reaction.Topple |
GA_XenoCore_Player_Topple, GA_XenoCore_Minion_Topple |
| Daze | Anim.XenoCore.Reaction.Daze |
GA_XenoCore_Player_Daze, GA_XenoCore_Minion_Daze |
| Block | Anim.XenoCore.Reaction.Guard |
GA_XenoCore_Guard, GA_XenoCore_Minion_Guard |
| Dodge | Anim.XenoCore.Reaction.Evade |
GA_XenoCore_Evade, GA_XenoCore_Minion_Evade |
| Attack bounced off a block | Anim.XenoCore.Reaction.Recoil |
GA_XenoCore_Recoil, GA_XenoCore_Minion_Recoil |
The profile holds clips only. How long a Topple lasts, whether it holds until the reaction ends, and what blocks it all stay on the ability, so they are the same for every character.
The party's dodge is the one reaction that does not choose by side. GA_XenoCore_Evade lists a duck
and a sidestep under Random Montages and plays one of them at random on every miss, whichever
side the attacker is on. A profile Evade row still wins: a filled Front, Back, Left or
Right slot replaces the random pick when the attacker is on that side.
Steps¶
1. Find or make the character's profile¶
- VRoid party members already have one each, beside their pawn:
Characters/VRoid/Dorran/DA_XenoCore_AnimProfile_VRoid_C, and the same for_L(Kael),_K(Mira),_S(Nia),_M(Isolde),_Q(Sabine) and_Y(Tamsin). Each holds that character's victory emote and idle breaks; its Reactions list is empty, so every reaction uses the shared clips until you add a row. The Mannequin colour samples have theirs inCharacters/Party/AnimProfiles. - Anyone else: in your folder, right-click › Data › Data Asset, pick
Xeno Core Character Anim Profile, and name it
DA_MyGame_AnimProfile_<Name>. Then open the character's pawn Blueprint, Class Defaults, and set XenoCore › Animation › Anim Profile to it. Enemies have the same field on their Blueprint (for exampleB_XenoCore_Minion_Melee).
2. Override a reaction¶
- Open the profile.
- Under Reactions, click +. Set the key to the reaction you want, for example
Anim.XenoCore.Reaction.Topple. - Fill in only the slots you have clips for:
- Front, Back, Left, Right: the clip when the attacker stands on that side of the character. A knock-down usually needs only Front; the shipped Topple uses one clip for every side.
- Follow Up: the get-up, crossfaded in after the main clip. Its blend time is the follow-up montage's own Blend In.
- Save.
For a party member's Evade (and Guard or Recoil) clip, put the montage on the Defence
slot if the character should keep both hands on its weapon while dodging armed: on that slot the
body comes from your clip and the arms from the weapon stance. On FullBody your clip's arms play
too, which suits a sheathed character but lets the hands drift off a two-handed grip.
3. Override the death (optional)¶
Add clips to Death Montages. One is picked at random when the character dies. Any clip here replaces the pawn's own Death Montages list entirely, so a character with its own deaths never rolls a generic one.
This is for enemies. A party member at 0 HP is downed, not killed: it kneels and waits for a revive, using one shared set of kneeling clips that is not part of the profile. See Party gauge and revive.
4. Give the character a victory emote (optional)¶
When a battle is won, every living party member sheathes their weapon and then plays a celebration from Victory Montages. One clip is picked at random. This slot has no default: a character with an empty list does not celebrate.
- Use a montage on the FullBody slot. The weapon is already on the character's back, so unarmed clips are fine.
- Masculine or feminine is the clip you choose. The shipped party's emotes are in
Characters/Core/Animations/Victory: KaelAM_XenoCore_Victory_FistRaise, MiraAM_XenoCore_Victory_WhoopWhoop, NiaAM_XenoCore_Victory_Celebration, DorranAM_XenoCore_Victory_RaisedFist, IsoldeAM_XenoCore_Victory_Curtsy, SabineAM_XenoCore_Victory_Saluteand TamsinAM_XenoCore_Victory_SmallClap. - Moving or jumping cancels the emote, and so does a new fight starting.
- Keep it short; 2 to 4 seconds reads well.
The fanfare that plays at the same moment is a project setting, not part of the profile:
Project Settings › Game › XenoCore Content › Battle › Victory Fanfare. The shipped sound,
Audio/Battle/SW_XenoCore_VictoryFanfare, is a short, soft chime of about three seconds, mixed to
sit just under the area music, with its asset Volume at 1.0. Point the setting at your own sound
to replace it, or clear it to win in silence. If you swap in a louder sound, lower that sound's
Volume rather than the music.
Party members controlled by the AI sheathe on their own after the win. One that was in the middle of drawing its weapon at that moment finishes the draw and is then asked to sheathe again, so it still celebrates a moment later. The character you control is asked once: if you draw again yourself, you stay armed and skip the emote.
5. Idle breaks and faces (optional)¶
The same profile gives the character its personality out of battle:
- Idle Breaks and Armed Idle Breaks: the fidgets played while standing still, sheathed and drawn. One is picked at random, never the same twice running. Empty uses the stance's own break.
- Social Expressions and Solo Expressions (VRoid faces): the expressions a resting companion pulls when it chats with another member, or on its own. Empty means a neutral face.
6. Share a profile¶
Several characters that should move the same way can point Anim Profile at one asset. This is also how enemy types on the same skeleton share their clips: make one profile for the skeleton and point every enemy Blueprint on it there.
Test it¶
- Open
Maps/L_XenoCore_Gymand press Play with the character in the party. - Open the console (
`) and typeXenoCore.Anim.Describe(the leader), orXenoCore.Anim.Describe enemy, or part of a pawn's name such asXenoCore.Anim.Describe VRoid_C. The Output Log lists every reaction slot and where it comes from: PROFILE for yours, default for the shared clip. XenoCore.Anim.Play Topple frontplays the clip a front Topple would use, on the leader, without a fight. Addenemyor a name to preview someone else. This plays the clip only: no movement lock, no get-up.XenoCore.Reaction 2topples the leader for real (XenoCore.Reaction 2 enemyfor an enemy);XenoCore.Reaction 0clears it. The character falls with your clip and gets up.XenoCore.Battle.Victoryplays the whole battle-won sequence without a fight: the fanfare, then each party member's own victory emote.
If it doesn't work¶
Fails silently: the shared clip plays anyway
XenoCore.Anim.Describe tells you which case you are in:
- "profile: None": the pawn's Anim Profile is empty. Set it on the Blueprint the character actually spawns as, not on a parent you do not use.
- "profile row ... matches NO reaction this body is granted": the row's key is a reaction this character does not have. Check the key against the table above.
- The ability shows "no ProfileKey - always its own montages": a reaction ability you made yourself has no Profile Key. Set it under XenoCore › Reaction on that ability.
The character T-poses or freezes during the reaction
The clip is on a different skeleton from the body. Saving the character's pawn Blueprint reports each clip in its profile that does not fit the body, and saving the profile reports clips from two different skeletons in one profile. Give each skeleton its own profile.
Nobody celebrates after a win
The Output Log says why, on lines starting victory:. "has no VictoryMontages" means that
character's profile slot is empty. "refused ... wrong skeleton, or no FullBody slot?" means the
montage cannot play on that body. "never finished sheathing" means the character was still armed
six seconds after the win; for the character you control, this usually means you drew the weapon
again. "still armed - asking it to sheathe again" is normal for an AI party member that was
mid-draw at the win; it repeats every half second until the weapon is away, and stops if a new
fight starts. No victory: line at all means the game did not count it as a win: the
last enemy died while nobody in the party was armed, or another enemy was still fighting.
A duplicated VRoid pawn shares the original's profile
Duplicating B_XenoCore_Party_VRoid_C, or making a child of it, keeps its Anim Profile, so the new member and
Dorran share one asset and editing one changes both. Duplicate the profile as well and point the
new pawn at the copy.
Going further¶
- Choose an animation style: walking, running and the base idle, which come from the character's style and its weapon rather than from the profile.
- Reactions and statuses
- Animation