Every Overwatch community that has run customs for more than a month has a person whose real job is negotiating the comp. Ten people are in voice, seven of them want DPS, one will tank if nobody else does, and somebody has to be unpopular for ninety seconds before the game can start. That job is unpaid, thankless, and the single most common reason a custom-games night quietly stops happening.
The instinct is to solve it with a rule — "no more than two DPS, first come first served" — and then enforce the rule by hand, which is the same job with extra steps. The better move is to make the queue itself refuse to produce an invalid composition. Team Up can do that, and the setting takes about two minutes.
But before the setting, the arithmetic. Because a role-locked queue changes what "we have enough players" means, and almost every community that turns one on for the first time is surprised by the result.
A Role Lock Turns One Queue Into Three
An unlocked 5v5 queue fills when ten people join. That's the whole condition.
A role-locked one doesn't fill when ten people join. It fills when enough people of each role join, and those are separate counters that don't help each other. Under a standard 1-2-2 — one tank, two damage, two support per team — a 5v5 match needs exactly:
| Role | Per team | For a 5v5 match |
|---|---|---|
| Tank | 1 | 2 |
| Damage | 2 | 4 |
| Support | 2 | 4 |
This is not a preference the matchmaker tries to honour. It is a hard condition: a match forms only when every position has enough players for all teams, and if it doesn't, the queue waits. The rule is never relaxed and there is no autofill — nobody gets quietly moved off their role to make the numbers work.
Which is exactly what you asked for, and it has a consequence worth stating plainly:
Your queue fills at the speed of its scarcest role, not its player count.
Twelve people in queue is not twelve-tenths of a match. Twelve people who happen to be seven DPS, three supports and two tanks is zero matches — you have your two tanks, but you're two supports short, and the three extra DPS players contribute nothing at all. Add two more DPS and it's still zero matches. Add one support and it's still zero. You need the specific missing thing.
The Numbers Are Worse Than Your Intuition
Here's the part that catches communities out. Compare the fraction of your queue each role needs to be against the fraction that typically wants to be it:
| Role | Share of a 5v5 lobby | Share of players who prefer it |
|---|---|---|
| Tank | 20% | usually well under 20% |
| Damage | 40% | usually well over 40% |
| Support | 40% | roughly 40%, and volatile |
Tank is the structural problem in Overwatch and has been since role queue shipped in the game itself — Blizzard's own queue times have made the point for years. In a 5v5 lobby one in five players must be a tank, and in most communities fewer than one in five want to be. Everything else follows from that gap.
So the practical read on wait times:
- If tanks are your bottleneck (the common case), each additional DPS player who joins does nothing for throughput. Your queue is gated on a number that isn't moving.
- A twenty-person community is not twice a ten-person one. Twenty players in the same role distribution is still tank-starved, just with a longer bench of DPS players waiting.
- The fix is supply, not settings. Ask two people to main tank for the night and the queue's throughput roughly doubles. No configuration change achieves anything comparable.
This is not an argument against role locking. It's an argument for knowing what you turned on: you traded "matches start fast and the comp is a negotiation" for "matches start when the comp is valid". Most communities want the second thing. They just need to know that the tank shortage moved from the voice channel into the queue, where it is at least visible.
The useful side effect is that it is visible. A queue that has been sitting at nine players for twenty minutes is a legible fact you can act on, and it's a much better prompt than a person having to say "we still need a tank" out loud for the fourth time.
The Setting That Silently Never Forms a Match
This is the one genuine trap in the setup, and it is worth its own section because the failure mode gives you nothing to search for.
Role locking is configured in /settings → Matchmaking Rules → Unique Choice Matchmaking, set to the Balanced variant of your role choice set. Balanced means "teams draw one of each value".
If you stop there, with three roles and a team size of five, your queue will never produce a match. Not slowly. Never.
The reason is that with no explicit formation, balanced mode falls back to one of each role per team — which builds a three-player team. Your team size is five. Three isn't five, so the formation is rejected and the matchmaker waits for more players, forever. Players join, the queue grows, nothing happens, and there is no error message because nothing has errored: the queue is doing exactly what it was told, which is to wait for a valid composition that cannot exist.
The fix is one more modal. In Team Composition, set the quota explicitly:
tank:1, damage:2, support:2
The counts have to sum to your team size. That is the actual rule — tank:1, damage:2, support:2 is five and works; a stray tank:1, damage:2, support:1 is four and will never form a 5v5 either, for the same silent reason.
Two things to know about this modal:
- It's Discord-only. Unique Choice Matchmaking and the team quota are deliberately not in the web dashboard. If you configure your league from the web, this is one of the few settings you have to go into Discord for.
- The quota only applies in balanced mode. There's a second, non-balanced variant of unique-choice matching — faction-versus-faction, where every player on a team shares the same value. That's built for Attackers-vs-Defenders and Alliance-vs-Horde shaped games, not for role locking. The quota will save against it and then do nothing, which is a confusing state to debug. Pick balanced.
If your community runs 6v6 customs instead, the same arithmetic applies with different numbers: tank:2, damage:2, support:2 sums to six, and now you need four tanks in queue to start a match. The tank problem does not get better as you scale the format up.
Party Queue and Role Lock Cannot Both Be On
Worth knowing before someone asks, because they will ask in the first week.
Party Queue — the "Join as Party" button that guarantees a pre-made group lands on the same team — is only eligible when unique-choice matchmaking is off. The two settings are giving conflicting instructions about who ends up where: one says "these four people are a unit", the other says "each team takes exactly one tank, two damage and two support". There's no general way to satisfy both, so the queue won't try.
The answer most communities land on is two queues: a role-locked one for the serious nights and an unlocked one with Party Queue on for the nights when six friends want to play together and the comp can be whatever. They can point at the same leaderboard or at different ones, which is a decision about whether stack nights should move the ladder.
Per-Role Ratings Change Which Teams Get Drawn
Everything above is about whether a match forms. This part is about whether it's a good one.
One rating per player describes an Overwatch player badly, for the same structural reason it describes a League of Legends player badly — the role ratings post works through that argument in depth and it transfers almost unchanged. Role isn't a difficulty modifier you can subtract out. It's a different job. A player who is genuinely excellent on support and mediocre on DPS has one number that is wrong in both directions, and averaging them produces a rating that describes neither.
The Player Choices rating type tracks a rating per role, keyed to the same choice set the queue uses to enforce the quota. That's the part worth appreciating about this setup: one definition of "role" does both jobs. You don't configure the comp rules and the rating model separately and hope they agree.
What it changes in practice is team formation. With Balanced Teams on, balancing happens within each position bucket — the two tanks are balanced against each other, the four DPS players against each other, and so on. Your tank isn't being weighed against the enemy support to make the totals work. That's the correct behaviour and it's a stronger guarantee than a global Elo balance: it means the mirror of your role is a real comparison, which is the thing your players actually feel during the game.
Two consequences to expect:
- The tank rating will be the noisiest number on your board. One tank in five, with the largest single influence on a fight, means tank results swing on fewer inputs than support results do. Expect the tank column to take longer to settle, and resist the urge to read early tank ratings as a tier list.
- A flex player is one rating per role, not an average. They'll have a high support number and a middling DPS number, and both are true. This is the system working, and it's worth saying out loud once, because the first flex player to see their DPS rating will assume something is broken.
The One Thing It Can't Do: Flexing at Queue Time
Being honest about the limit, because it's the question a good organiser will ask immediately.
A player queues with one role. There is no "I'll play support or DPS, whichever you need" selection, and no autofill to redistribute people once the queue is short. The matchmaker looks at the role each player picked and waits until those picks add up to a valid formation.
For a role-locked queue that's the right trade — autofill is precisely the thing you turned role lock on to avoid — but it does mean the flex players in your community are a resource the queue can't see. Somebody who would happily switch has to actually switch: leave the queue, re-join as the missing role.
Two things make that less annoying than it sounds:
- Say which role is short, where people can see it. The queue message shows who has joined; the gap is visible if anyone looks. A single "we need one more support" in the channel converts a flex player in about ten seconds, and now they're counted.
- Ask your flex players to default to the scarce role. If two people in your community are genuinely comfortable on tank, the community-level fix is for them to queue tank by default and switch off it when someone else takes it — not to queue DPS and wait to be asked. That's a social convention, and it's worth establishing early because it is worth more to your throughput than any setting on this page.
Setup, Start to Finish
- Create a role choice set on the leaderboard — dashboard → Option Sets — with
tank,damage,support. - Set the rating type to Player Choices (Specific Format) so each player carries an independent rating per role at 5v5.
- Create the queue with
/queue_versus headless, team size 5. - Turn on the role lock:
/settings→ Matchmaking Rules → Unique Choice Matchmaking → the Balanced variant of your role choice. - Set the quota: Team Composition →
tank:1, damage:2, support:2. Do not skip this — see above. - Set Team Formation to Balanced Teams so the bot balances within each role bucket.
- Run a second unlocked queue with Party Queue enabled if your community wants stack nights.
Then leave it alone for two weeks. Per-role ratings need volume before they mean anything, and the tank column will need more of it than the rest.
Frequently Asked Questions
Why isn't my queue forming a match even though enough people have joined?
Almost always the team quota. With balanced Unique Choice Matchmaking and no explicit Team Composition quota, the fallback builds a team of one player per role — three players, for three roles — which doesn't equal a team size of five, so no match ever forms and no error is shown. Set the quota to tank:1, damage:2, support:2 and confirm the counts sum to your team size. The second possibility is that you genuinely don't have enough of one role: a 5v5 needs two tanks, four damage and four supports in queue simultaneously.
Can a player queue as "fill" or for two roles at once?
No. Each player queues with a single role selection, and there's no autofill — the matchmaker waits for a valid formation rather than moving anyone off the role they picked. A flex player who wants to cover a shortage leaves the queue and re-joins as the missing role. Most communities handle this by asking their genuine flex players to default to tank.
Can one player have a separate tank rating and support rating?
Yes — that's what the Player Choices rating type does. Roles are a choice set on the leaderboard and each player carries an independent rating per role, used for both display and team balance. A player will typically have three quite different numbers, and all three are correct.
Does role lock work with a party or premade group?
No. Party Queue is only eligible when unique-choice matchmaking is off, because a same-team guarantee and a per-role formation are conflicting instructions to the matchmaker. Run a second, unlocked queue for stack nights — pointed at the same leaderboard if you want those results to count, or a different one if you don't.
Does this work for 6v6?
Yes, with a different quota. tank:2, damage:2, support:2 sums to six and works the same way — but note that it now takes four tanks in queue to start a single match, so the tank bottleneck gets tighter, not looser.
Does Team Up read ranks from Overwatch?
No. There's no Blizzard integration and no rank import — ratings come from the matches your community records. For customs that's the more useful input anyway, since your ladder needs to know how your players compare to each other rather than to the global matchmaking population.
Running Overwatch customs on Discord? Team Up enforces the comp at the queue, tracks a separate rating per role, and balances teams within each role bucket. See the Overwatch 2 setup guide for the configuration in brief, read the role ratings post for the rating theory in depth, or start with the matchmaking queue guide.
