Multiplayer Sessions Plugin

This plugin is a lightweight, reusable solution for adding session-based multiplayer to Unreal Engine projects without rebuilding the same Host/Join flow every time. It’s designed to give players a simple, familiar experience: host a match, find available sessions, and join quickly with minimal friction.

The goal is to make multiplayer feel like a first-class feature early in development, whether you’re prototyping or moving toward a production-ready experience.

I built it to keep the multiplayer flow clean, modular, and easy to plug into new projects. The UI and session logic are separated so the system remains flexible, letting you swap visuals, expand features, or tailor matchmaking rules later.

In short, it’s a strong foundation for any game that needs reliable session creation and joining, with room to grow into more advanced systems as the project evolves.

ABOUT

  • This plugin provides a straightforward menu experience: players can host or join with a couple of clicks, while the UI handles button states and feedback. The menu sets up the lobby path, binds to the subsystem events, and triggers travel when hosting or joining succeeds.

  • At the core is a dedicated UGameInstanceSubsystem that centralizes multiplayer session logic into one reusable system. It exposes clear functions for creating, finding, joining, destroying, and starting sessions, plus custom delegates for UI to hook into cleanly.

  • Sessions include a custom "MatchType" setting, letting your menu search results and join only the mode you want (like FreeForAll). This keeps session browsing simple while still feeling like real matchmaking logic.

  • The system automatically switches to LAN behavior when the Online Subsystem is "NULL", which is ideal for local testing and fast iteration. The same flow can later support online subsystems without rewriting your Host/Join structure.

Gameplay systems

Role: Programmer

Team Size: 1

Time Frame: 2 days

Engine: Unreal Engine 5

Language: C++

Project Information