Scope: matchmaking queues are defined per game.
- Dashboard
- Unity
- Unreal
Make queues under Multiplayer → Matchmaking with Create Queue:
- Queue Name: the name your game searches by, letter for letter, case included.
- Min Players and Max Players: the smallest and largest match.
- Same game version only: matches players of one build with each other only. Leave it on unless different builds can play together.
- Allowed Segments: only players in these segments may search here. Leave it empty for everyone.
- Queue metadata: notes for your own reference. Matching does not read them.
How a search ends
The outcome is a string on both engines. On Unity it is one of theFlockMatchmakingOutcome
constants; on Unreal, one of the constants of FlockMatchmakingOutcomes. Both carry the same names
(FlockMatchmakingOutcomes::PartyChanged is party_changed).
A search your game cancels ends the call another way: with an
OperationCanceledException on
Unity (through its token), and as a failure of type Cancelled on Unreal (through its handle).
The server can add outcomes, so treat any other as ended without a match.
Party members and game versions
On a Same game version only queue, the server takes each member’s version from their game’s last read of the party. Have every member’s game read the party (GetMyPartyAsync, or
GetMyParty on Unreal) once it is running, or the search is refused with
MatchmakingVersionMismatch.
What matching does not use yet
Matching is first come, first served. Skill, region and latency rules, teams and backfill are not built yet; what a search sends in its attributes is stored for them. Until then, make a queue per mode and region (coop-4-eu, coop-4-na).
Errors
Each code is aFlockErrorCode on Unity and an EFlockErrorCode on Unreal, with the same name,
and the error carries a hint naming the fix.