The Easiest & Best Matchmaker for Your Unity Games

The Easiest & Best Matchmaker for Your Unity Games

Article updated August 2026.

Every multiplayer game needs to solve the same problem: getting the right players into the same session, fast, with a good connection and a match worth playing.

That's logic-based matchmaking. And in most architectures it's also the component that triggers your game server's deployment, which makes it the load-bearing piece between your players and your infrastructure.

This is contrast to lobbies, which enable players to connect to any listed server without imposing logic.

This article covers the options available to Unity developers, what each one actually gives you, and what it costs.

Understand Matchmaking

At its base, a handful of elements determine whether players get grouped together, including skill level, connection quality, and in-game preferences like mode or map. The target is a session that's both playable and challenging.

Three reasons it's worth caring about:

  1. Balanced matches. Losing repeatedly to someone far better isn't fun, and neither is stomping someone far worse. A matchmaker's job is to make the outcome uncertain.

  2. Player retention. Players who get reasonable matches come back. Players who get blowouts and 200 ms ping don't.

  3. Time to gameplay. Manually coordinating opponents is friction. Automated grouping gets people into the game while they still want to play.

Worth noting that these goals fight each other. Tighter skill matching means longer queues, and tighter latency constraints mean a smaller candidate pool. Every matchmaker on this list is really a set of opinions about how to trade those off, and the good ones let you set the trade-off yourself.

If you want to see how a major studio reasons about it, our breakdown of Call of Duty's skill-based matchmaking covers Activision's own data on the subject.

Open Match

Open Match is an open-source matchmaking framework from Google Cloud that runs on Kubernetes. It handles the infrastructure of running a matchmaking service at scale and leaves the actual matching decisions to you.

That split is the point, and it's also the catch. Open Match gives you the plumbing. You build the Game Frontend that bridges client and matchmaker, the Match Function that decides who plays with whom, and the Director that assigns matches to game servers. Every game authenticates players differently, starts servers differently, and weighs skill differently, so those three components are yours to write and maintain.

The last tagged release of Open Match, v1.8.1, shipped in December 2023. That's nearly three years without a versioned release on the branch most production deployments are running.

Development moved to Open Match 2, which collapses the Frontend, Backend, and Query services into a single horizontally scalable binary, drops the Evaluator entirely, and exposes HTTP alongside gRPC. It's language-agnostic, so your match functions can be written in anything with gRPC support. It's also still labelled public preview, and migrating from OM1 to OM2 is a rewrite of your integration layer rather than a version bump.

None of that makes it a bad project. It's a genuinely well-designed framework, and if your team has Kubernetes depth and wants total control over match logic, it's the credible open-source starting point.

But the free part is only the license. You own the cluster, the Redis layer, the observability stack, the on-call rotation, and the migration decision. That's a standing engineering commitment, and it's the part teams consistently underestimate. We covered the same pattern in more detail in the high cost of free products.

Edgegap

Edgegap's matchmaker is fully managed, fully customizable, and requires no code to configure.

You write a JSON configuration defining one or more profiles, where each profile is an independent queue with its own rules, and the matchmaker generates its API from that. A rule is a named entry with a type: player_count for team sizes, number_difference for values like Elo, string_equality for exact matches on game mode, intersection for overlapping map selections, and latencies for connection quality.

That last rule type is the part that doesn't exist elsewhere. Clients measure their ping against Ping Beacons and the matchmaker matches on those measurements directly, enforcing both a maximum acceptable latency and a maximum difference between the fastest and slowest player in the match.

Not a region dropdown. Measured ping, region-less.

That means a player in Lisbon and a player in Casablanca can be matched on the basis that they both reach the same server well, without either of them picking "EU West" and hoping for the best.

Rules also expand over time. You define expansion stages keyed to seconds in queue, and each stage relaxes specific attributes. A competitive profile might start at 50 Elo difference and 125 ms max latency, widen to 150 Elo and 250 ms at thirty seconds, then drop the team size floor at three minutes. Queues get shorter without abandoning your quality bar in the first ten seconds.

The rest of what's in the box:

  • Groups and third-party lobbies. Party support is built in, and the matchmaker works alongside Epic Online Services Lobby, Steamworks Lobby, Nakama Groups, PlayFab Lobby, brainCloud, GameKit, or your own lobby service.

  • Backfill. Server-owned tickets that replace leavers or let players join matches in progress, while still respecting your matchmaking rules.

  • Injected variables. Ticket IDs, team assignments, resolved rule values, and player attributes arrive on the game server as environment variables, so the server knows exactly who it just received.

  • Analytics and player tracing. Deployments are tagged with the ticket IDs assigned to them, which turns "this player says their match was bad" into a searchable question.

  • Rolling updates. Blue/green matchmaker instances so client and server version transitions don't require downtime.

Edgegap's Matchmaker is now Easier to Integrate with a Dedicated Unity SDK

The Unity SDK installs through the Unity Package Manager and ships with a working matchmaking sample, automated ping measurement against beacons, and JSON parsing for the injected server variables.

Practically, that turns integration into "import the package, point it at your matchmaker URL, adjust the sample." The raw API is still there if you want it, along with a server-to-server layer for attaching sensitive attributes like cheat flags or authoritative skill ratings from your own backend.

What Edgegap's Matchmaker Costs

The free tier covers every feature with no credit card and shuts down after three hours of runtime, which is fine for development. Production runs on a private cluster starting at roughly $22 per 30 days. Full tiers are on the pricing page.

One thing worth flagging while you're modelling cost: fill rate drives your hosting bill directly. A matchmaker that ships 6-player matches into 8-player servers burns capacity on every single match, which is why session fill rate is a cost metric and not just a quality one.

Unity's Matchmaker (Unity Gaming Services)

Unity Matchmaker is rules-based, off the shelf, and lives directly in the Multiplayer section of the Unity Dashboard alongside Relay, Lobby, and Distributed Authority. If you're already in Unity Gaming Services, that proximity is the main draw: queues, ticket flow, and player selection are configured in the same place as the rest of your services, with SDK support built into the editor.

Multiplay Game Server Hosting has since moved outside of Unity, so Matchmaker now allocates servers through Cloud Code modules that call whichever hosting provider you're using.

That tutorial walks through pairing UGS Matchmaker with Edgegap hosting, so your matchmaking rules stay in Unity while servers deploy to the location closest to each match.

Heroic Labs' Nakama

Nakama is an open-source game backend covering authentication, storage, social features, leaderboards, and real-time multiplayer, with matchmaking as one component. The server is Apache 2.0 licensed, written in Go, and backed by PostgreSQL.

Its matchmaker considers player skill and custom attributes out of the box, which makes it a more complete option than a bare framework. It pairs with Satori for LiveOps and Hiro for metagame systems.

Heroic Cloud is sized on provisioned Nakama CPU and database CPU with no DAU, MAU, or CCU caps, so cost tracks allocated resources rather than a player counter. Satori on Heroic Cloud starts around $600 per month, and dedicated support packages run from $2,000 to $6,000 per month. Self-hosting is free in license terms and decidedly not free in operational terms, since you own the Postgres cluster and every upgrade.

Nakama and Edgegap are directly integrated. Nakama handles accounts, matchmaking, and player data, then triggers a deployment on Edgegap at the optimal location for the players in that match. The Deploy from Nakama documentation covers the plugin setup for both Heroic Cloud and self-hosted instances.

Photon

Photon is a networking engine and cloud platform, and one of the longest-standing options here. Its matchmaker sits in the REALTIME layer that also underpins Fusion and Quantum, and it comes with lobby features, a large sample library, and broad platform coverage.

Public cloud pricing starts free at 100 CCU for a single app. Paid steps run roughly $125 per month at 500 CCU, $250 at 1,000 CCU, and $500 at 2,000 CCU, each with a traffic allowance attached. Premium Cloud is usage-based at around $0.50 per CCU with a monthly minimum near $1,000.

Model CCU carefully. Billing is based on the sum of monthly peaks across regions, traffic overages are separate, and plans below 500 CCU are hard-capped, meaning players who hit the ceiling get disconnected rather than billed.

If you run Fusion in Server Mode, note that your Photon plan covers the networking and not the machines. Photon states plainly that it does not provide hosting for dedicated Fusion server applications, nor the orchestration to spin them up per session. That's a separate provider and a separate line item, and it's specific to Fusion's dedicated server topology rather than to Quantum, whose deterministic simulation runs as a plugin inside Photon's own cloud.

Steamworks

Steamworks matchmaking is peer-to-peer only, which is the first thing to know.

Within that constraint it's solid and free. It taps directly into Steam's user pool, handles lobby creation and player organization, and solves NAT traversal for you. For a game that ships on Steam and doesn't need authoritative servers, it's hard to beat on effort.

If your game does need dedicated servers, Steamworks gets you the grouping but not the server allocation. It's also Steam-only, which rules it out as your primary system the moment consoles or mobile enter the plan. A common pattern is to use Steamworks Lobby for the social layer and hand the resulting group off to a separate matchmaker.

PlayFab

PlayFab, acquired by Microsoft in 2018, is a full backend-as-a-service with matchmaking and lobby management included. Its matchmaker runs on SmartMatch, the same technology behind Xbox network matchmaking, and supports skill, location, and custom attribute rules with a ticket-based flow.

Pricing starts free and moves to a paid tier with Azure usage costs layered on top, so modelling your real bill takes more than reading one number. The v1 and v2 service split is still a documented source of confusion, and some developers have written up rough edges around lobby and matchmaking parity.

If you're using PlayFab matchmaking and need dedicated servers under it, the PlayFab Bridge documentation covers the setup: a Cloud Script function fires on playfab.matchmaking.match_found and requests a deployment from Edgegap, keeping your API tokens out of the game client.

Conclusion

There's no shortage of options here, from services baked into your engine to open-source frameworks you assemble yourself. Each one is a reasonable choice for some team.

What matters is what comes out the other end.

Two things, specifically. Better matches, meaning players grouped by connection quality and skill rather than by whoever happened to be in the queue. And lower hosting costs, because a matchmaker that fills sessions properly is the single largest lever you have on your server bill, as we broke down in how session fill rate affects your multiplayer hosting costs.

Pick the entry point that fits your stack. Judge it on those two outcomes.

Pricing and details as of 2026.08.26. Published plan pricing changes frequently, so verify against each vendor's pricing page before budgeting.

Written by

Gabriel Parent (Director) & Jakub Motyl (Product)

Get your Game Online Easily & in Minutes

Start Integrating Now!

Get your Game Online Easily
& in Minutes

Get your Game Online Easily & in Minutes