Open Match–Open Source Matchmaking

Back in July, Unity announced a partnership with Google on future game based networking solutions.  Open Match, an open source matchmaking solution.  Matchmaking is one of those challenges all networked games face.  Do you run your own custom servers, or use a 3rd party service for matchmaking?  Running your own servers obviously comes with a cost as well as additional support requirements, while farming it out to a third party leaves you exposed if they ever shutdown.  Open Match might be a good compromise solution, enabling game engine agnostic networking that runs in standard docking containers or in the future, hosted on Unity servers.

Primary features of Open Match:

Extensibility. Custom match logic examples are available for simple player matchmaking based on latency, wait time, and an arbitrary skill rating.

Flexibility. Because Open Match runs on Kubernetes, you can deploy it on any public cloud, local data center, or even on a local workstation.

Scalability. Open Match is designed using proven web microservices patterns, and with Kubernetes as the underlying platform, adding additional capacity to your APIs when you have more customers is as simple as a single command. Kubernetes autoscaling can be used to automate it as well.

Open Match is not tied directly to Google nor Unity:

Although Open Match is co-founded by Google Cloud and Unity, it’s game engine agnostic. It can be integrated into any game, regardless of how the game is built or what infrastructure it’s running on. Unity will be basing future matchmaking technology on Open Match, so Unity customers will be able to more easily take advantage of its features, such as through integration with Unity-provided servers. The Open Match GitHub repo is now open for contributions, and you can follow the example provided in the development setup guide to start experimenting today.

Open match is in alpha now and is not ready for production usage.  It is released under the Apache 2 open source license and is written using the Go programming language.

GameDev News


Scroll to Top