Gaming

Move Beyond Skill-Based Matchmaking With PubNub Illuminate

Markus Kohler on Jan 27, 2025
Move Beyond Skill-Based Matchmaking With PubNub Illuminate

Skill-based matchmaking (SBMM) often takes center stage when developing a multiplayer game. Games companies see it as the foundation for competitive balance, ensuring players are paired with opponents of similar skill levels. But, at PubNub, we’ve been thinking about how to make matchmaking more than just SBMM or its awkward neighbour, EOMM, asking how to deliver a continuously evolving system shaped by complexity, scalability, and the pursuit of happy player retention.

This is because we know gamers think these algorithms are ruining games.

Matchmaking systems can be categorized into three tiers, each increasing in complexity and scope:

Basic Matchmaking

  • Matches players based on visible linear skill ratings (e.g., ranks or points).

  • Geolocation plays a crucial role in minimizing latency.

  • Individual game servers are often hosted through services like GameLift.

Skill-Based Matchmaking (SBMM)

  • Incorporates visible and invisible rating systems (e.g., ELO, TrueSkill, TrueSkill 2).

  • Considers geolocation and factors like delta ping (the difference in latency between connected players).

  • Prioritizes balanced gameplay experiences for fairness and satisfaction.

Engagement-Optimized Matchmaking (EOMM)

  • May blend with SBMM, focusing on getting players to play continuously.

  • Typically leverages psychological ‘tricks’ to generate frustration or reward to get that ‘just one more’ from its player base.

  • May use player spending to modify and reward player experiences to encourage more significant spending.

Engagement-Focused Personalized Matchmaking

  • Goes beyond skill and ping by considering engagement variables, such as input devices, console types, and time of day.

  • Non-linear in design, requiring adaptive algorithms to weigh multiple variables dynamically.

  • Matches gamers based on any variable associated with the player.

  • Focuses on ‘just one more’ by providing games companies with matchmaking that makes players happy.

There are reports online about how engagement-optimized matchmaking (EOMM) is the next evolution of matchmaking; these focus on maximizing player retention and reducing churn algorithmically rather than organically, which may seem good for businesses on the surface. As a gamer, I would argue that it is terrible for the players who play the game the most or the highly skilled players. It prioritizes low to mid-level skill players and values players who have spent money on the game, emphasizing a pay-to-win structure. I’ve also been keeping an eye out for how countries are starting to emphasize laws on how players can spend their money in games, so building a matchmaking system around spending rather than satisfaction may be a losing strategy. In this blog, I will go over how to make a personalized matchmaking structure for your game that keeps online games busy and players happy.

Why Matchmaking Is More Than Just Skill-Based Systems

While SBMM builds the foundation, personalizing matchmaking introduces layers of complexity that go far beyond traditional matchmaking logic. These systems aren’t one-size-fits-all, and their real challenge lies in managing player expectations, server resources, and game design goals—all in real-time.

Skill-based matchmaking is just the tip of the iceberg—beneath it lies a world of personalization that respects player enjoyment without overstepping into intrusive behavioral analysis. The goal isn’t to manipulate but to craft experiences that feel fair, engaging, and rewarding.

By balancing casual and competitive play, optimizing matchmaking for diverse playstyles, and fine-tuning algorithms with transparency in mind, we can build systems that keep games fun, communities active, and players coming back—not because they’re being analyzed, but because they’re genuinely having a great time.

The Balancing Act Between Fairness and Organic Engagement

While Skill-Based Matchmaking (SBMM) serves as the foundation of competitive multiplayer experiences, it represents only one layer of a much larger system. As we dive deeper into Personalized Matchmaking, the complexity grows exponentially—not just in technical implementation but also in the strategic decisions that shape player experiences. Personalized matchmaking goes beyond skill and latency, incorporating factors like playstyle preferences, platform differences, and session timing to create a more tailored and enjoyable experience for every player.

The Trade-Off: Fairness and Engagement

At its core, matchmaking aims to provide fun, competitive, and engaging matches. However, fairness (SBMM) and engagement (Personalized Matchmaking) don’t always perfectly align.

  • Fairness-focused SBMM: Ensures balanced skill levels, reducing frustration from unfair matches. However, strict fairness can sometimes lead to repetitive gameplay, longer wait times, and a lack of variety in player experiences.

  • Organic Engagement-focused Personalized Matchmaking: Introduces more variables to optimize player satisfaction. For example, pairing a high-skill player with a slightly weaker team might create a thrilling “carry the team” moment, or placing players in diverse scenarios could prevent burnout and keep gameplay fresh.

PubNub provides developers with the ability to strike a delicate balance** between these two goals, as leaning too heavily to either side can alienate parts of the player base. The key lies in transparency, thoughtful design, and aligning matchmaking goals with the player experience.

Data is the Backbone for Modern Day Matchmaking

The transition from Skill-Based Matchmaking (SBMM) to Personalized Matchmaking isn’t merely a design choice—it’s a data-driven evolution. Matchmaking algorithms have the ability to transform into real-time analytical engines, relying on historical match data, live server metrics, and player activity insights to make informed matchmaking decisions.

Organic Engagement-Focused Personalized Matchmaking Systems That PubNub Can Power

  • SBMM with a twist: If a player enjoys overcoming challenges, they might be paired against slightly more formidable opponents. At the same time, those seeking a more relaxed session might face opponents lower than their level.

  • Friends-of-Friendslist Matchmaking: Combines traditional SBMM with typical time of day, player tendencies, and whether players are less than two degrees of separation from each other. This creates teams where players are more likely to form long-term friendships—like LinkedIn, but for your game.

  • Communication and Playstyle Matchmaking: Builds teams that communicate and play in sympathetic ways with each other. No longer will a player be left desperate for a revive while the rest of the team loots chests.

These examples, though hypothetical, are entirely possible by leveraging PubNub Illuminate’s adaptive real-time decisioning capabilities. Because Illuminate sits outside of the game code, this lets game companies continually adapt and modify how players are matched without the need to push a new patch or change the game code in any way.

Player bases are fluid and ever-changing, fluctuating hour to hour, day to day, and month to month. This means traditional matchmaking algorithms can no longer remain static; they must be dynamic, adaptable, and continuously refined to respond to shifts in player activity and behavior in real-time—all of the things PubNub specializes in.

Adding a Social Layer to Matchmaking

Matchmaking systems are often discussed in terms of skill, engagement, and fairness. However, an increasingly critical factor in modern multiplayer gaming is the social layer—the idea that games thrive not only on competition but also on community and relationships.

Incorporating the social layer means prioritizing experiences that foster connection, camaraderie, and long-term engagement among players. It’s about turning matches into meaningful interactions where players bond, form friendships, and strengthen their ties to the game.

How PubNub Supports Social Matchmaking

  • Real-Time Data Processing: PubNub can process live player data, including friend lists, playstyle preferences, and communication tendencies, to create adaptive matchmaking algorithms prioritizing social compatibility.

  • Dynamic Updates Without Downtime: PubNub Illuminate allows developers to modify matchmaking algorithms on the fly, integrating new social variables or fine-tuning existing ones without disrupting gameplay or requiring code changes.

  • In-Game Social Features: PubNub allows you to seamlessly integrate chat, private messaging, and community channels into your game, ensuring players have the tools to connect and collaborate.

Building a Dynamic Matchmaking System with PubNub

Before starting, check out How to Develop a Skill-Based Matchmaking System with PubNub for more information on how to build a basic, static SBMM. I believe that skill should play a role in matchmaking, which is why this SBMM foundation allows game developers to strike the balance mentioned above.

When it comes to building a more advanced Personalized Matchmaking System, real-time infrastructure is required. With PubNub, you get not only a suite of tools to build out your real-time infrastructure but also a set of tools to manage, analyze, and optimize your matchmaking system at scale.

Real-Time Data Delivery with PubNub

At the heart of a matchmaking system is real-time data delivery. With PubNub’s global distributed network, you can:

  • Instantly send and receive player data across servers and clients, whether K/D, player sentiment, friend lists, or day of the week; PubNub will grab any kind of data.

  • Maintain low-latency communication for critical metrics like player pings, ELO ratings, and server health.

  • Create real-time event-driven architectures to match players dynamically as they enter or leave queues.

The best part is that PubNub works across all platforms. So whether you're building your game on Unreal Engine or Unity or you need server-side functionality, you can utilize our JavaScript SDK. PubNub SDKs all work with one another, so mixing and matching the different SDKs is not a problem.

Real-Time Analytics with PubNub Illuminate

Matchmaking systems thrive on data and real-time decisions; PubNub Illuminate brings real-time analytics directly into the picture and allows you to make decisions based on those metrics. For example, with Illuminate, you can:

  • Monitor live matchmaking metrics such as player queue times, latency distribution, and churn risks.

  • Visualize matchmaking performance trends over time to identify bottlenecks or mismatched player pools.

  • Adapt matchmaking parameters dynamically based on real-time insights.

Referring to the image below, you can track any relevant metric for your game. In this example, I am tracking the average latency and play style and making decisions accordingly based on these metrics.

The decisions are the red lines. They are connected to my SBMM algorithm and change it according to these real-time metrics, tuning my SBMM system into a personalized algorithm for the individual player.

Here, we are looking inside the Play Style Decision. You can see that I am dynamically setting a Punish Param based on whether the Play Style is Aggressive, Passive, or Balanced. I can change these rules at any time and distribute them into a production environment in under one minute.


State Management and App Context

Matchmaking systems require persistent state management to keep track of complex variables, such as:

  • Player profiles and stats: ELO ratings, win/loss ratios, behavioral patterns.

  • Match states: Current match status, player connection health, and server assignment.

  • Engagement metrics: Session lengths, preferred game modes, and device data.

PubNub App Context acts as a database to store and update information seamlessly across regions. It ensures:

  • Global consistency across sessions: Data remains synchronized across all clients and servers.

  • Low latency for updates: Changes to the player’s match state or profile are reflected instantly.

  • Scalability for large player bases: App Context scales effortlessly if you have hundreds or millions of concurrent players.

For example, referring to the image below, I am tracking consecutiveWins, elo, and gameModePreference. All these metrics can be streamed through Illuminate, but I wanted a place to visualize my metrics for each player in the game. This is called BizOps WorkSpace. BizOps allows you to visualize your database in your matchmaking system and update individual player stats.

Getting Started with PubNub

PubNub has the tools, infrastructure, and expertise to help you succeed.

For more resources about matchmaking, check the links below:

To start with PubNub, sign up for our admin portal and create your first keyset for free. Here, you can implement all the logic in the demo and test the real-time functionality for yourself. Regardless of the platform you are using, PubNub has you covered.

Get started with PubNub by signing up for a free account right now.

Feel free to contact the DevRel team at devrel@pubnub.com or our Support team for help with any aspect of your PubNub development.