Creating dynamic matchmaking systems with PubNub and Epic Online Services

August 5, 2025
This is a guest post written by the team at PubNub, a third-party provider that developers can choose to integrate with Epic Online Services to enable dynamic matchmaking.

Matchmaking in games has gone through constant evolution over the past decades, in an effort to provide players with the most engaging and fun experiences. Nowadays, a lot of games foster social experiences through matchmaking, because they know that players who build friendships in-game are far more likely to stick around.

These bonds are built by moments and driven by players—the teammate who revived you at the last second, the squad that worked together perfectly in a high-pressure moment, or the random duo who turned into regular gaming partners. For developers, fostering social engagement and meaningful interactions through matchmaking can be important to creating these lasting moments between players.

PubNub, a third-party provider, is working with Epic Online Services to give developers a choice to enable matchmaking that adapts dynamically according to player behavior, playstyle and social signals to give developers a new way to matchmake in their games. Read on to find out how.
 

Introducing dynamic matchmaking 

Early matchmaking systems were largely connection-based—if you had a stable ping, you were in. Skill-Based Matchmaking (SBMM) was born to address noticeable skill gaps between opponents, and keeps games fun, competitive, and engaging. More recently, Engagement Optimized Matchmaking (EOMM) came into the mix, adding additional signals, from match history to broader engagement patterns, to shape more personalized play experiences. As games and player communities continue to grow, so does the opportunity to build on these foundations by incorporating increasingly dynamic logic into matchmaking.

Dynamic matchmaking with PubNub and Epic Online Services works with several categories of player feedback—factors that change from session to session. Let’s start by considering the myriad ways you can define your player:
 
  • Playstyle preferences - Casual vs. competitive
  • Role-type tendencies - Categorizing your playstyle
  • Input methods - Controllers vs. mouse/keyboard 
  • Time of day and session intent - Does the player typically hop in and out, or go for marathon sessions?
  • Social connections - Friendlists, friends of friends, chat preferences

And so on. If you’re thinking about all the ways your players can interact, you can start to put the puzzle together.
A Diagram Illustrating The Key Components For Effective Matchmaking
By creating a dynamic, real-time system, developers can offer players matchmaking that considers a more holistic view of the player. 

Active communicators are matched with others who value teamwork and strategy. Friends who are queued up together face other full squads. You get an experience that feels natural, immersive, and rewarding, whoever you are.
 

Let's build a dynamic matchmaking solution powered by Epic Online Services and PubNub Illuminate

With Epic Online Services, developers can get players into the game quickly across platforms and storefronts. Additionally, using Epic Games accounts, players instantly have access to their existing friends to team up. They also get access to a rich set of features including voice chat, and developers can keep their communities healthy with anti-cheat and player moderation.

Epic Online Services (EOS) handles the orchestration of a match—player identity, session management, and lobby formation—while PubNub Illuminate provides developers with the player behaviors, preferences, and contexts covered above. 

Illuminate only ingests live signals from data sources that are selected by the developer. This can be any aspect of your gameplay or player metadata that you wish to use as a means for matching players. Whether it’s friends lists, time/days played, favorite weapons, metadata about styles of play, their love of certain types of skins, their tendency to instantly mute entire lobbies every game—you can use the live signals you choose to group players together. Whether you want to monitor in-the-moment (real-time) data or trends over time, Illuminate can see all of your selected signals and feed it directly into the custom matchmaking logic you define.

Epic Online Services can then be used to take this real-time matchmaking guidance and efficiently manage the session creation—matching squads that you want to be together. EOS ensures those matches are routed correctly regardless of platform, region, or network edge cases. With Illuminate’s ability to act in real time, you can tweak, transform, or improve your matchmaking rules, and you know your players will see those rules acted on, instantly.

This stack enables you to decouple matchmaking logic from the game client - so instead of patching the game when priorities change, you can update rules server-side in real time. 

For example, if you want to run an event where solo queue players are more likely to match with others using voice comms, or de-prioritize skill during an off-season, you can design for specific scenarios like these that best fit your audience. This is possible because the logic for these scenarios lives outside the engine, as long as you’re sending player data to PubNub Illuminate, you can make these kinds of adjustments with no or minimal adjustments to your game code.

Because Epic Online Services handles the infrastructure and Illuminate drives the decisioning, you can evolve your matchmaking strategy as your game—and your playerbase—changes. And because Illuminate’s decisions are based on real usage data and trends, each match feels custom-tailored to users.

The result is a matchmaking experience that’s optimized to understand players’ gameplay preferences.
 

How matchmaking adapts to you: a LiveOps architecture for real-time decision-making

In most matchmaking systems, logic is hard-coded, meaning decisions are baked into the game client or server and remain static until the next patch. That framework can limit experimentation, and force developers to prioritize “predictable” matchmaking logic over player-driven nuance.

With Epic Online Services, developers have the option to integrate PubNub Illuminate, flipping the architecture: matchmaking logic lives outside the game build within a real-time, serverless rules engine that constantly evolves based on player behavior and engagement patterns.

Here’s how it works:
  1. Game Client → Epic Online Services Sessions and PubNub Illuminate Telemetry
The player initiates a matchmaking request via the game client. Epic Online Services manages identity and party/lobby formation. Simultaneously, the game begins sending telemetry and contextual data to Illuminate—session history, input method, time of day, voice usage, and recent behavior patterns. 
 
  1. Game → PubNub Illuminate API Call
The game invokes Illuminate via API, which is being sent relevant player and game metadata from the backend or the game engine itself, and selected and configured by the developer. Illuminate stores this data in PubNub “App Context”, ready to be evaluated against real-time metrics and trends. This engine is powered by the same infrastructure that receives trillions of messages each month.
 
  1. PubNub Illuminate → Decision Engine and Ruleset Evaluation
Illuminate processes real-time data across thousands or millions of players. Rulesets are created in a no-code / low-code environment that lets developers make any type of matchmaking decisions based on combinations of previously ingested data. For example, a rule might implement a “soft constraint” that deprioritizes strict SBMM if a player is on their third consecutive loss and playing with a new friend.
 
  1. PubNub Illuminate → Epic Online Services Matchmaking Decision
Illuminate returns a match decision to the game to guide the session creation logic. The game then uses Epic Online Services to create sessions that align with the player’s current behavioral fingerprint and manages the session lifecycle—ensuring matchmaking logic becomes lobby logic, not just theoretical intent.
 
  1. Epic Online Services → Game Session
Epic Online Services APIs are then used to route players into the appropriate session, which is now populated not just by skill or latency, but by deeper intent-matching logic. The client receives lobby and session data and the game begins.
 
  1. In-Session → Continuous Feedback Loop
During gameplay, Illuminate will continue to ingest the metadata and metrics defined previously on user behavior to feed back into future decisions.
 

Away from matchmaking, developers can further leverage PubNub Illuminate to trigger in-the-moment, LiveOps-based events dynamically during gameplay without needing a new build or deployment.
Diagram Of Pubnub Illuminate And Eos Matchmaking Workflow
This architecture gives studios total flexibility. You can perform A/B tests on matchmaking hypotheses, personalize lobbies based on regional preferences, and even adjust matchmaking in real time during a live tournament if player sentiment demands it.

Epic Online Services provides the infrastructure scalability and reliability and third-party solution Illuminate gives developers the option to create adaptive, behavioral-based matchmaking. Together, they form a fully decoupled but deeply integrated matchmaking system.

To learn more, watch the video below and check out the full tutorial video on PubNub’s YouTube channel
 
 

    Learn how to build dynamic matchmaking with PubNub

    Ready to explore dynamic, behavioral-based matchmaking? Check out the sample and documentation below.