GitHub Icon

Platform

Solutions

Resources

Company

The Easiest & Best Matchmaker for Your Unity Games

In multiplayer gaming, good matchmakers groups players together quickly and, preferably, with similar peers in terms of geography, as to mitigate latency and fairness issues, and skillset to ensure a fun multiplayer game for all. Making the decision upon which matchmaker to use essential for creating excellent and balanced gaming experiences. Matchmaker must work in unity with your netcode networking alongside your game server hosting in unison, as it is in most scenarios, the API that will trigger your game server’s deployment. Failing that means your player won’t be able to play amongst each other.

Developing a matchmaker from zero takes time and effort, although it is certainly feasible for companies with experienced developers or, for example, single programmers with either experience or determination. There are ample options in the market, often free, to expedites the process and allow game developers to focus on what they do best – making games.

Our "Simplest Series" is what we built to help navigate these choices and guide you to the best option possible for your reality. Specifically in this entry, we want to give an overview of how you can implement matchmaker systems into your game by explaining the process in the simplest way possible.

Understand Matchmaking

At the base of matchmaking, two key elements determine whether two players, or more, get matched or not. These elements are skill level, location, or in-game preferences. The target is to ensure that their play session is pleasurable and challenging, leading to a better experience and retention in your game.

Here are some key reasons why matchmaking matters: Here are some key reasons why matchmaking matters:

  1. Balanced Matches: Anyone who's ever lost a rivalry to someone way better than them will tell you that it's not fun. The matchmaking system empowers the algorithm that endeavors to achieve balance by giving the player a shot based on his skills, experience, and other necessary components.

  2. Player Retention: The players will be inspired to continue experiencing a favorable matchmaking scenario that keeps them on the entertainment rollercoaster. When those players are placed against players at that particular skill level, such experience is expected to intrigue them and sustain their desire to play the game.

  3. Efficiency: Manual participation of opponents or teammates can be really time-consuming. It enables players to communicate, which is necessary for coming together and building teams, by means of a matchmaker, which runs automatically and lets the players quickly jump into games.

Open Match

Created by Google Cloud Open Match is an open-source platform which allows you to install, host, manage and develop convincing and extensible functionalities under your matchmaking logic. It’s main benefits includes the ability to write code, scaling and telemetry on quality of matches and latency to help optimize it over time.

It was designed to allow you to customize it to fit your needs, which involves deciding on matchmaking regulations. The core is taken care of by dealing with the nuances that come with handling infrastructure issues. Specifically, it leaves the Frontend (Bridge between client and matchmaker), the Match Function (Brain behind the decision) and the Director (Assignment to the game server). Every game is different and can have its way to authenticate a player, create a server, and match players based on skills or game scenarios. You will need to build these three components to fit your specific needs. Still, robust documentation helps game developers along the way during its integration.

Game creators can implement Open Match in their projects and decide on its detailed architecture. However, it requires a level of knowledge about developing a matchmaker’s decision-making, as to tailor to your game, its nuances, and have it work with your cloud provider. As such, while free, Open Match requires you to manage your backend and infrastructure in addition to your matchmaker. While open source is sometimes free as a free solution, it does come at a cost when you includes customization, installation and integration, and ongoing management.

Edgegap

Edgegap’s matchmaker is built atop the Open Match free and open source but adds all the prerequisite to get your matchmaker to work in minutes, directly hosted it on its platform. It gives you the benefits of open match while removing the downside of it.

Thanks to their fully managed and no-code automated matchmaker, it makes the development process straightforward, which allows you to focus on making your game instead of the matchmaker’s backend, infrastructure & scaling are all taken care of for you so you can concentrate on making your game. Additionally, thanks to its patented orchestrator and using the world’s largest edge platform, Edgegap deploys your game server dynamically choose the optimized server within the minimal latency for each match.

If you prefer a simple, free and low code solution that ensures your matchmaker is on “autopilot” once its very short integration is complete, with the upside of using simplest cloud interface for your game servers, Edgegap is worth a try.

For advanced users, Edgegap has its Custom Matchmaker, with an advanced set of features for power users to fine-tune for their game. Providing access to the frontend, match function and director components to create custom rules tailored to your unique specifications. See the documentation for more details.

Considering both flavor of Edgegap’s matchmaker are free of charge when using its orchestrator, it is an economic solution while being future proof.

Unity Matchmaker

Unity's Matchmaker Engine is part of Unity's engine involved in adding multiplayer to a game. This “off the shelf” service is easy to integrate and connects players, tailor matches to your game and players with rules-based matchmaking.

It facilitates the process of managing player queue and selection, which makes finding players with similar skills or a common attribute more simple. Developing strategies such as game matchmaking and rule setting and letting Unity do the rest is an option.

Unity’s Matchmaker requires the use of Multiplay or Unity’s relays. While both are initially “free” with either credits or playercount below 50 players, the costs grow drastically as you get more players. For game servers, Unity charges as of 2024 of $0.038 per vCPU per hours whereas its competitors asks between $0.001-0.004 per vCPU. For relays, with $0.16 per additional concurrent player meaning every thousand new players costs $160 per month (whereas they are free on Steam or Unreal’s relays).   

Heroic Labs' Nakama

Heroic Labs’s matchmaker is one of the many middleware built atop the company’s Nakama platform, which helps developers by offering a simple but scalable matchmaker as part of its open source (with disclaimers in the license) to help.

This matchmaker, by design, considers the player's abilities and skills, among other factors by default as a more “complete” matchmaker option. It functions out of the box with Heroic Labs’ cloud alongside the company’s LiveOps (Satori) platform.

As part of an overall enterprise solution, pricing starts at $600 including all of Nakama’s platform, and with cloud solution, starting price begins at USD $1,800/month as of 2024.

Photon

Photon is a game networking engine and platform widely used by developers due to its flexibility and simple and quick matchmaking system. It is one of the leader in space, as it was one of the first, and is widely used by game developers.

Photon provides a solution that offers a wide range of play, such as matchmaking and lobby features. Photon’s matchmaker is part of it’s REALTIME product, namely its base layer for multiplayer games and higher-level network solutions. It solves problems like matchmaking and fast communication with a scalable approach. It has one of the most robust variety of game and code samples.

Pricing is free in development under 20 CCU, but rises to $95/month for 100 CCU, pending a 12 month commitment.  

Steamworks

For the game connected to Steam, it is possible to use the game's own Steamworks SDK for matchmaking, which can be done in conjunction with the huge pool of users on that platform.

The Steam matchmaking system is built to be resilient and is the basic version for individual and team games. It organizes the players involved and the lobby created and addresses the NAT traversal problem.

Steam is clear that the system is purely for peer-to-peer networking, requires Steam’s networking, and will require additional development if dedicated servers are needed for your game.  

PlayFab

PlayFab, purchased by Microsoft in 2018, is a widely used and well known full backend-as-a-service option for game developers.

PlayFab includes a built-in layer of matchmaking and lobby management options specially tailored for players. These options include player skill, location, and so on. Its matchmaking algorithm takes these factors into account. On top of that, it implements its functionalities in Azure services.

While PlayFab’s tools are commonly used, it has many detractors who are quick to highlight its limitations and it’s high cost (while initially free, standard Tier is $99/month + 16 other calculations to determine the final pricing) for game services now often provided for free such as Epic Online Services.

Conclusion

Selecting the appropriate matchmaker for your needs will depend on the kind of game you are developing, whether your team has the skills, capabilities, and resources for matchmaking, or whether you need an external matchmaking solution.

For a free, fully managed and low code option, Edgegap’s matchmaker and lobbies solution is almost impossible to beat. When combined with EOS free game services, including authentication, voice chat, anti-cheat, and more, it’s an easy recommendation to build a multiplayer on – for no costs during development.

For power users with advanced knowledge and abilities, starting “clean” with Open Match is a solid alternative. For those seeking a full backend solution, seek the alternatives listed above.

Pricing and details as of 2024.04.09

Written by

the Edgegap Team