Skip to content

Choose the starting party

Designer · 15 min · No code

Result: a new game starts with the characters you choose, the ones you choose fighting and the rest in reserve, with the leader you choose. A further character joins later when the player walks into a trigger.

Before you start

Where the party is set

Everything is on one asset, Characters/Party/BP_XenoCore_Party, the party component the XenoCore Experience adds to the player controller. Open it and click Class Defaults; the settings are under XenoCore › Party.

Setting What it does
Starting Roster Every character the party has at the start, in order
Max Active Members How many fight at once, the leader included. The rest of the roster starts in reserve.
Leader Slot Which active slot the player controls. 0 is the first.
Default Controller Class The AI used for any member whose definition names none
Leader Only Ability Set Abilities only the body the player drives gets (the sample: interaction)
Spawn Inner Radius, Spawn Arc Degrees and the other XenoCore › Party › Spawn settings How companions are scattered behind the leader at spawn; see Where they appear

Steps

1. Pick who is in the party

  1. In Starting Roster, arrange the entries so the characters you want fighting come first. The party fills active slots in this order and puts everyone after that in reserve.
  2. Remove any character you want to recruit later instead of having from the start.

2. Pick how many fight

  1. Set Max Active Members. The C++ default is 3; the sample sets 7, so every character who joins fights and nobody waits in reserve. The sample starts with two (Kael and Mira) and recruits the other five on Gaur Plain. Lower it to bench the end of the roster.
  2. The HUD has seven party plates, so any value from 1 to 7 draws a plate for every active member.

Reserve members earn nothing in the sample

Benched characters earn a share of every experience award, set by Reserve Experience Rate on the progression component Game/BP_XenoCore_Progression. The C++ default is XC1's 90%; the sample sets 0, and recruits catch up by joining at the party's level instead. See Tune levelling.

3. Pick the leader

  1. Set Leader Slot to the active slot you want to control. With the roster order above, 0 is the first character in the list.
  2. Compile and Save.

The player can change the active members out of combat from the Party screen. The leader can also change in combat: tap a trigger to switch to the next or previous member, or pick a new leader on the Party screen.

4. Recruit someone later

The sample recruits its five other characters by talking to them; see Recruit a party member by talking to them. For a character who joins when the player walks into a spot instead:

  1. Open a map and, from the Place Actors panel, drag XenoCore Party Recruit Trigger into the level where the character should join.
  2. In its Details panel, under XenoCore › Party:
    • Member To Recruit: the character's member definition.
    • Activate Immediately: on to put them straight into the fight if there is a free active slot; off to send them to reserve.
    • Join At Party Level: on (the default) to bring them up to the party's level when they join, so a mid-story recruit is not left behind.
    • Recruit On Overlap: on to recruit when the player walks into the box. Turn it off if a cutscene or dialogue will call Recruit on the trigger instead.
    • Destroy After Recruiting: on for a one-time story beat.
  3. Scale the Recruit Volume box to cover the spot.

The trigger's On Recruited event fires after the character has joined, for a banner or a line of dialogue. From any Blueprint you can also call Add To Roster on the party component (Get Party Component returns it).

Test it

  1. Open Maps/L_XenoCore_Gym and press Play.
  2. The HUD shows one plate per active member, and you control the character in Leader Slot.
  3. Open the menu (pad Y, keyboard I) and go to the Party screen. The reserve lists everyone else from Starting Roster.
  4. Walk into your recruit trigger. The character joins, into the fight if there was room.

If it doesn't work

Fails silently: the change does nothing when I press Continue

A save stores the roster, the active party, the party size and the leader. Continue loads that and ignores Starting Roster. Test with Play in the editor, or New Game.

Fails silently: Starting Roster is ignored on New Game

Project Settings › XenoCore Content › Startup › Starting Roster Override, when it is not empty, replaces Starting Roster for a New Game. It is empty in the shipped plugin; clear it if your project set it.

The Party screen refuses to swap anyone

Bench swaps, reorders and removals are refused while the party is in combat, and a message says so. Picking a new leader from the active members still works. Disengage first. Recruiting through a trigger or Add To Roster is never refused.

A character in the roster never appears

Their member definition has no Member Class, or its pawn has no Combatant Pawn Data. Open the definition; the Content Browser marks it with an error.

With an empty Starting Roster, the player spawns alone

That is supported: the player gets the Experience's default pawn and no companions. Add at least one member to get a party.

Going further