Hi Creators,
Last year at RDC we previewed Custom Matchmaking, a powerful way to control how players are matched in your games, improving both competitive and cooperative play. Since then, we’ve been hard at work finding a solution that works with our existing matchmaking algorithm while introducing custom variables that let you fine-tune it to your experience.
Today, we’re excited to announce the beta of Custom Matchmaking! You can start customizing how players are matched in your experience by signing up for early access through our beta program here. Rolling out this feature as a beta allows us to gather your feedback, identify usability gaps, and address any critical issues before expanding access. We will be expanding access to Custom Matchmaking in the next few months.
We want to include a diverse set of experiences across genres and matchmaking preferences for this initial release. This beta will be limited to experiences with over 500 concurrent players to ensure we gather enough data for a successful full launch. If you’re not selected for this beta, don’t worry – we’ll be making this feature widely available in the next few months.
How Matchmaking Works on Roblox
Matchmaking on Roblox happens in two steps — first, we find eligible servers that the player can join, filtering out servers that are full, private or reserved, servers that are about to shut down, etc. Next, all eligible servers are ranked and scored to find the best match.
Matchmaking Signals
Below are the current signals that we use to rank and score all eligible servers to find a match.
Signals | Definition |
---|---|
Friends | Prioritize matching players if they have friends that are currently in the server, or players that share the same IP address. |
Occupancy | Prioritize filling servers that currently have a higher number of players relative to the total capacity of the server. |
Language | Prioritize pairing players who share the same language setting. |
Age | Prioritize matching players who are of a similar age. |
Latency | Prioritize servers that have a lower latency to the player. |
Voice Chat | Prioritize pairing players that have voice chat enabled. |
Device Type | Prioritize pairing players that use the same type of device. |
Play History | Prioritize pairing players based on time spent over the last 28 days in your experience. |
To learn more about how Matchmaking on Roblox works, check out our Roblox Learn video on Matchmaking
With this launch of Custom Matchmaking, you can:
- Adjust the weight of each signal to fine-tune its influence on matchmaking decisions.
- Define up to two custom signals such as skill level or game mode preference—and specify their weights based on what’s most relevant to your experience.
- Preview changes before applying them, see how your configuration reflects in server score calculations.
- Monitor your analytics to understand the impact of your configuration changes on individual signal metrics.
Get Started With Custom Matchmaking
Explore our documentation here to learn more about customizing matchmaking. Here’s a quick runthrough of how it works.
-
If you’ve been selected for this beta, we’ll send you a message directly on DevForum to let you know that you can start using custom matchmaking for your experiences.
-
You can begin customizing matchmaking for your game by navigating to your experience dashboard in Creator Hub, selecting the experience, and going to ‘Custom Matchmaking’ under ‘Configure’ on the left hand navigation bar.
-
Here you’ll find the Roblox default matchmaking settings for your experience; this includes the current set of signals used to match players today, and the ‘weight’ that is used to determine how much it influences matchmaking.
-
Behind the scenes, a weighted sum of various signals is calculated for each eligible server. This score reflects how well each server matches the player’s needs. The player is then assigned to the server with the highest score. A higher score means a better match, while a lower score suggests the server is less suitable.
Creating Custom Signals
You can also define up to two of your own custom signals, based on either the player’s or the server’s attributes. For example, you can create a signal based on a player’s skill level or a server’s game mode.
Our signals use existing attributes that we already have access to, like player location, age, and latency. Custom signals, however, are defined based on data from your data stores.
Step 1: Create a custom attribute. Go to Custom Matchmaking > Create Attribute. You can either create a Player Attribute or a Server Attribute.
Player Attributes
Player attributes are references to custom player data, such as Player skill level stored in Data Stores and are managed through Data Store APIs. You can use player attributes to compare attribute values of the joining player to that of other players in the server. For example, you can compare the joining player’s skill rating to the average skill of the players in the server.
Server Attributes
Server attributes are associated with the lifecycle of the game server and are managed using the new Matchmaking APIs. You can use server attributes to match players to servers with specific characteristics. For example, you can match a player whose preferred play mode is casual to a server with other casual players.
Step 2: Create the custom signal.
-
Click ‘Add a custom signal’ at the bottom of the signal list.
-
Here you can specify the signal’s name, add a description, specify which attribute to use, and choose how you want that attribute to be aggregated.
-
You can then test how your signal will work when it’s deployed by adjusting the values under ‘Preview and Test Signal’.
Preview and Test
Preview and test server scoring to see how your configured signal weights impact server selection. You can experiment with different weight combinations and server characteristics.
To preview and test, click Preview and Test in the Create a Custom Matchmaking Configuration page. The preview shows you three mock servers with different scores and highlights the winning server. To see details about the formulas used for scoring, hover over each signal score result for each mock server.
Analytics
Use metrics on the custom matchmaking analytics dashboard to analyze the impact of your configuration changes on individual signal performance over different periods of time. For example, if you increase the latency weight in your custom configuration, you can see how it affects average player latency after the change.
The analytics dashboard includes charts for both Roblox and custom signals.
What’s Next
We expect to open access for all creators in the coming months. We hope to have a full release later this year. This release will include:
- Preset Config Templates: To make it easier for you to get started with optimal matchmaking settings for different genres and types of gameplay, whether your game is competitive or social.
- Experimentation & Insights: To analyze the impact of your configuration changes on player and experience metrics.
- More Custom Signals: Expand beyond two custom signals for more complex matchmaking logic.
We know this has been a much requested feature, and we’re excited to get Custom Matchmaking in creators’ hands! You can also read more in our documentation here.
Apply here for the beta and we will reach out via a DevForum message if you’re selected – be sure to watch your inbox!
Happy creating!
FAQs
Why is sign up required for beta access?
- We’re rolling this out as a sign up based beta to gather feedback, identify usability gaps, and monitor early usage. This will allow us to refine the feature and address any critical issues before expanding access to all creators in the coming months. We expect to open access to all creators in the next couple of months.
At RDC, you shared capabilities to create matchmaking rules based on custom parameters. Are those included in this release?
- Not in this release. This beta focuses on providing you visibility into our default matchmaking algorithm, and gives you better control to tune it to your experience’s needs. Future updates will introduce additional customization options.
Will there be analytics to track impact of custom configurations on experience level metrics?
- Yes! This initial beta will provide analytics on individual signal metrics and trends as a result of the config change. We are working on enabling annotations to experience metrics shortly to help you view before and after changes to metrics such as player engagement, monetization and retention. Later this year, we are hoping to provide experimentation capability to compare configuration changes before rolling to production.