Opis
LocalMpPlugin handles the messy part of local multiplayer: letting players join and leave during the game by pressing a button on any free controller, keeping each player bound to the exact pad that joined them, and keeping a player alive when their controller disconnects so they can pick it back up without losing their character.
Most local-multiplayer assets are either split-screen viewport helpers (they only handle the rendering) or full template projects (which you can't drop into a game you've already built).
LocalMpPlugin is a code plugin: the logic lives in a GameInstance subsystem, and you wire it into your own PlayerController, GameMode, and UI. It forces no base class on your project — if you already have your own controller and pawn, it fits around them.
Built for real sessions, not just a demo. Controllers connect and disconnect, batteries die, friends join halfway through a round. LocalMpPlugin is designed around exactly those moments: deterministic device-to-player binding, a reconnect flow with per-player "waiting" overlays, and clean pawn teardown when a player leaves.
Features
Runtime drop-in / drop-out — players join from any unassigned controller and leave on a configurable button, at any time, with no level reload.
Per-device controller detection — each player is bound to the specific device that joined them, so pads never get shuffled between players.
Controller reconnect — a disconnected player is kept alive and marked "waiting"; reconnecting a pad restores that player with pawn and state intact (FIFO).
Blueprint-first API — every function and event is exposed to Blueprint. Drive join / leave / reconnect from your own controller or UI.
No forced base classes — a GameInstance-subsystem backend you call into, plus example content you can replace with your own controller, pawn, and widgets.
Configurable leave key and built-in shortcuts — or disable them and drive everything from your own logic.
Connection events for UI — per-player "controller lost" / "reconnected" events ready to bind to your own overlay widgets.
Example content included — a working sample map, PlayerController, GameMode, test pawn, and connection-lost widget to learn from and adapt.
What's included
The LocalMpPlugin plugin (C++ source included).
Example content: sample map1, BP_PlayerController, BP_GameMode, BP_Pawn, WBP_ControllerWidget and input assets.
Good to know before you buy: LocalMpPlugin manages which controller belongs to which player and the join/leave/reconnect lifecycle. What each player controls (the pawn, the camera, the gameplay) is your game — the kit ships example content to show the wiring, and you plug in your own. On UE 5.3–5.6, the keyboard and the first gamepad share one input id on Windows; the kit handles this sensibly (they drive player 0 together) and the guide explains the options. Full setup guide and FAQ included.
Documentation: https://drive.google.com/file/d/11Z7eBzfTKMfoU71n6HsJv8_T_tFqD-jq/view?usp=sharing