Tune companion AI¶
Designer · 20 min · No code · Last tested: 2026-10-01
Result: a companion that uses its arts the way you want: a healer who heals early, a damage character who saves an art for the Break, an attacker who acts less often so the player stays the star. And a party that behaves the way you want between fights: chattier, more watchful, or stiller.
Before you start¶
- Read Companion AI and aggro. It explains what each number below does.
- Glossary: Aggro, Party tactics, Break, Topple, Daze.
- Have the Gym map open and a party of at least two.
1. Pace a character¶
Open the character's party member definition, for example Nia's
Characters/VRoid/Nia/PartyMember_VRoid_S, and expand XenoCore › AI › AI Profile.
| Field | Default | Raise it to… | Lower it to… |
|---|---|---|---|
| Decision Interval | 1.5 s | think less often | react faster |
| Decision Jitter | 0.3 | vary the rhythm more | act more predictably |
| Post-Art Cooldown | 3.0 s | use fewer arts (weaker companion) | chain arts more (stronger companion) |
| Heal Threshold | 30 % | heal earlier | heal only in an emergency |
| Reliability | 100 % | — | sometimes let a decision pass, for a careless character |
| Seek Positional Bonus | on | — | untick: use positional arts from the front, as in XC1 |
| Positional Timeout | 2.0 s | walk round further before giving up | give up sooner |
Post-Art Cooldown is the one to reach for if a full party feels too strong.
The same profile's Target Choice fields decide which enemy the companion picks when the party's Attack tactic is At Will: Attacking Me Weight, Attacking Ally Weight (raise it on a defender), Leader Target Weight (raise it to stay with the player), Current Target Weight, Per Ally On Target Weight, Distance Penalty Per Metre and Target Reconsider Interval. Under Focus they are not read: the leader's target is the target.
The player's tactics come first
Everything on this page runs inside the orders the player sets in Party Tactics (hold X,
keyboard F): Attack (Focus, At Will, Regroup), Arts (All, No Talent, Auto Only),
Stay Back and Prioritise Healing, for the whole party or one member. Under Auto
Only a companion uses no arts at all; under Stay Back it holds Stay Back Distance
(750 cm, on Characters/Party/BP_XenoCore_Party) from its target. See
Party tactics.
2. Teach an art when to fire¶
Open the art definition, for example Battle/Arts/DA_XenoCore_SlitEdge, and expand
Art › Companion AI.
- Leave Usable By AI ticked. Untick it to keep the art for the player only.
- Set AI Priority. Higher wins. All shipped arts use 1.
- Add entries to AI Conditions. For example, to have a companion save an art for a Broken enemy:
- Add an element.
- Set Check to Target has tag.
- Set Tag to
Status.XenoCore.Reaction.Break. - Tick Still Active On Impact.
- Leave Required ticked.
To make a condition a preference instead of a rule, untick Required and set Bonus.
You do not need conditions for a Topple or Daze art. AI Wait For Reaction (on) holds it until the enemy is Broken (for Topple) or Toppled (for Daze), and AI Chain Bonus (3) makes it the first choice the moment it can land. Lower the bonus if a chain art crowds out everything else, or set it to 0 to switch it off.
Fails silently: an art that never lands
Give every art its own montage. An art that uses the auto-attack's montage
(AM_XenoCore_Attack_*) is stopped on its first frame when it cancels the auto-attack. It shows
as USED in the companion log and then does nothing: no hit, no reaction, no error.
Duplicate the clip under the art's name instead.
3. Set how much aggro an art draws¶
On the same art, Art › Aggro › Threat (default 10). The aggro is Threat × (user's level + 14) and drains at 75 per second. A taunting art wants several hundred. A quiet support art wants 0.
4. Change how companions spread out¶
The spacing is an ordinary EQS query: Characters/Party/AI/EQ_XenoCore_CompanionCombatSpot. Open it
in the EQS editor to change the ring radius, the number of points, or the test weights. The
behind/beside variants used for positional arts are EQ_XenoCore_CompanionBackSpot and
EQ_XenoCore_CompanionSideSpot.
To use your own copy instead of editing the shipped query, duplicate it into your folder, then
on your child of Characters/Party/BP_AIC_XenoCore_PartyMember (Class Defaults ›
XenoCore › AI) set Combat Spot Query, Back Spot Query or Side Spot Query to it.
A template update then leaves your copy alone.
Fails silently: an empty Combat Spot Query
With Combat Spot Query cleared, companions walk straight at the enemy and bunch up. Nothing is logged. An empty Back or Side Spot Query falls back to the combat one.
5. Tune the party between fights¶
Out of battle each companion looks around, rests and wanders on its own timer. The settings are
parameters on tasks in Characters/Party/AI/ST_XenoCore_PartyMember. Duplicate the tree into your
folder, edit the copy, and set it as the StateTree on your own child of
Characters/Party/BP_AIC_XenoCore_PartyMember (see Party). Then point the
party at that controller: Default Controller Class on Characters/Party/BP_XenoCore_Party
(Class Defaults › XenoCore › Party) for everyone, or Controller Class on one member
definition for that character only.
| To make the party… | Change | On |
|---|---|---|
| Look around more, or less | Glance Interval Min/Max; the … Chance weights | XenoCore Party Gaze |
| Look at you more | Leader Chance | XenoCore Party Gaze |
| Watch the enemy in a fight, with fewer glances away | Lower Battle Glance Chance | XenoCore Party Gaze |
| Stay put when you take a step | Raise Leash Jitter or Follow Start Distance | XenoCore Party Hold |
| Set off more promptly | Lower Reaction Delay Min/Max | XenoCore Party Hold |
| Chat more, wander less | Raise Social Chance, lower Stroll Chance | XenoCore Party Hold |
| Stand closer or further apart when chatting | Social Stand Distance Min/Max | XenoCore Party Hold |
| Stand still at rest, as before | Set Stroll Chance, Social Chance and Solo Chance to 0 | XenoCore Party Hold |
| Keep up with a running leader faster | Raise Catch Up Ratio or Catch Up Margin | XenoCore Party Follow Leader |
What each companion fidgets with and which faces it pulls belong to the character, not the tree: see Give a character its own idle breaks and faces.
Two settings are elsewhere:
- How heavily a companion turns, starts and stops is XenoCore › Movement › AI Steering on the pawn Blueprint. Lower Rotation Rate Yaw and Max Acceleration for more weight. It applies only while the AI drives the body.
- Who looks at whom during banter is under Who Is Speaking on
Audio/Voice/DA_XenoCore_BattleVoiceConfig, including Exchange Max Distance (5 m), the furthest apart two members can be and still be paired for an exchange.
Crowd avoidance makes a travelling party wobble
Crowd Avoidance While Travelling on BP_AIC_XenoCore_PartyMember (XenoCore › AI › Crowd)
is off on purpose. Turned on, companions re-steer round each other every frame and the whole party
zig-zags as it follows you, at every Crowd Avoidance Quality; higher qualities wobble more,
not less. Nothing is logged. Leave it off: members already keep apart by their trail distances,
and avoidance is always on in battle, where they need it.
Test it¶
- Play the Gym and lock a minion.
- Open the console and type
log LogXenoAI Verbose. - Watch the Output Log. Each companion prints a decision line listing every usable art with its score, then USED with the art it chose. Back Slash prints HOLDING while the companion walks behind, then REACHED.
- Let a companion take damage. One with Light Heal slotted heals once someone drops below its Heal Threshold.
- After the fight, stop walking. Within a few seconds the companions look about on their own timers, and one walks up to another and the two look at each other. Walk off: they set off one by one rather than together, and follow without wobbling.
If it doesn't work¶
| Symptom | Cause |
|---|---|
| A companion never uses an art | It is not slotted in that character's Arts menu, Usable By AI is off, or the Arts tactic is Auto Only for that member (or No Talent, for a Talent Art). The decision line shows nothing usable |
| Companions stand by the leader and do not attack | The Attack tactic is Regroup. Tap X (keyboard F) to switch between Focus and At Will |
| An art never appears in the decision line | It is cooling down, out of reach, or a required condition fails. Back Slash's cooldown is 20 s |
| A heal never fires | Nobody is below the Heal Threshold, or no companion has a heal slotted |
| A Topple or Daze art is never used | Nothing has Broken (or Toppled) the enemy yet. These arts wait for their reaction; untick AI Wait For Reaction to change that |
| An art is USED but nothing happens | It shares the auto-attack's montage, or its hit missed or was blocked. Check with log LogXenoArts Verbose |
| Companions bunch up | The controller's Combat Spot Query is empty, or the query it names was deleted. They then walk straight at the enemy. Set it again, or restore EQ_XenoCore_CompanionCombatSpot from your backup |
| A companion stands still in a fight | The party is not in battle: the leader has not drawn, and no enemy within 30 m is fighting the party |
| Edits to the party StateTree do nothing | You edited a copy that no controller uses. Set it on your controller Blueprint's StateTree component |
| The party zig-zags while following | Crowd Avoidance While Travelling is on. Untick it |
| Companions walk, sprint to catch up, then walk again | Catch Up Ratio or Catch Up Margin is too high, or Pace Smoothing too high to ease |
| Companions never stroll or chat | The leader never stops long enough: no activity starts while the leader moves faster than Leader Moving Speed (60 cm/s) |
| A companion you take over feels sluggish | It should not: AI Steering stops applying the moment the player possesses a body. Check the pawn's own Character Movement values, which are what the player gets |
Fails silently
A tag condition with an empty Tag is wrong without a word: Target has tag never passes (a required one hides the art for good), and Target lacks tag always passes. Nothing is logged. Check that every tag condition has its tag set.