> For the complete documentation index, see [llms.txt](/llms.txt)

# Party Formation

Lets players build formations by combining characters from their collection.




**About this demo**

The demo signs in automatically with an anonymous account. The account is shared across every demo in the showroom, so items and currency you get in one demo carry over to the others. Loading takes a moment. If the frame is too small, open the demo in a new tab.

## Overview

Build parties from the characters you have recruited. Each party has three slots (`slot1` to `slot3`); you start with room for 2 parties and can expand to 4. On the **Party** board you switch between parties and tap character cards to put them in or take them out.

## How to try it

1. Under **Recruit a character**, press **Recruit** next to **Recruit knight** (or another character) a few times to get characters to work with.
1. On the **Party** board, pick the **Party 1** tab and tap a card under **Your characters**; the character goes into the first empty slot and its card reads **In party 1**.
1. Tap the slot card, or the card marked **In party 1**, again to take the character out of the party.
1. Switch to the **Party 2** tab to build another party. The same character can be in more than one party.
1. Press **Expand** to add room for one more party; the caption reads, for example, `3 of 4 parties`. The button is disabled once you reach 4.

## GS2 services used

- [GS2-Formation](/microservices/formation/): GS2-Formation's form model defines a party of three slots, each accepting only characters from the `Character` inventory. The player can save 2 parties to start and 4 at most. Slots are filled with signed item sets from GS2-Inventory.
- [GS2-Inventory](/microservices/inventory/): GS2-Inventory's `Character` inventory holds the recruited characters; **Your characters** on the board lists it.
- [GS2-Exchange](/microservices/exchange/): GS2-Exchange rate models define the buttons: **Recruit** acquires a character and **Expand** adds a party (`Gs2Formation:AddMoldCapacityByUserId`), each run server-side as a free transaction.

## Use it in GS2 Studio

In GS2 Studio's Simple mode, open **Add features** and press **Add** on **Party Formation** to bring this feature into your own project. To point at the package directly, choose **Add from GitHub** and enter the package below.

```text
https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-character-formation/packages/foundation-economy-character-formation
```

- Owner: `gs2io`
- Repository: `gs2-studio-package`
- Subdirectory: `foundation-economy-character-formation/packages/foundation-economy-character-formation`

## Source code

- Demo project: <https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-character-formation/live-demo>
- Feature package: <https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-character-formation>



