Skip to content

Multiplayer API Reference

This section documents all Multiplayer Blueprint nodes provided by PloxTools: Steam Integration.

All functions require Steam to be initialized unless stated otherwise.

Managed Host, Start, Find, and Join operations automatically use Multiplayer Version from Edit → Project Settings → Plugins → PloxTools: Steam Integration → Multiplayer → Connection (default: 1). The version is configured once per project rather than passed to individual Blueprint nodes.


State

Node Parameters Callbacks / Return Description
Is Hosting Steam Game WorldContextObject (UObject) bool Returns true when this world is the host of an active managed Steam game.
Is Connected To Steam Game WorldContextObject (UObject) bool Returns true when the managed Steam multiplayer state is Connected.
Is Searching For Steam Games WorldContextObject (UObject) bool Returns true while Find Steam Games is in progress. A search may run while the multiplayer state remains Connected.
Is Steam Game Traveling WorldContextObject (UObject) bool Returns true while the managed Steam game is traveling to another map.
Get Steam Multiplayer State WorldContextObject (UObject) ESteamMultiplayerState Returns the current high-level managed Steam multiplayer state.
Get Current Steam Game WorldContextObject (UObject) FSteamCurrentGame Returns the current managed Steam game. Is Valid is false when no managed game is active.

Multiplayer

Node Parameters Callbacks / Return Description
Host Steam Game WorldContextObject (UObject)
Map (TSoftObjectPtr<UWorld>)
MaxPlayers (int32)
LobbyType (ESteamLobbyType)
LobbyData (map of string to string)
On Success (Lobby ID: FSteamLobbyID)
On Failure (Error: ESteamMultiplayerError, Error Message: string)
Creates a joinable Steam lobby and starts a PloxTools Steam listen server on the selected map.
Start Steam Game From Current Lobby WorldContextObject (UObject)
Map (TSoftObjectPtr<UWorld>)
bAllowJoinInProgress (bool)
On Success (Lobby ID: FSteamLobbyID)
On Failure (Error: ESteamMultiplayerError, Error Message: string)
Starts a PloxTools Steam listen server from the current Steam Lobby without creating a new Lobby. Eligible players already in the Lobby automatically attempt to connect to the match; bAllowJoinInProgress controls whether additional players can join after the match starts.
Find Steam Games WorldContextObject (UObject)
MaxResults (int32)
Distance (ESteamLobbyDistanceFilter)
MinimumAvailableSlots (int32)
SearchFilters (array of FSteamLobbySearchFilter)
On Success (Results: array of FSteamGameSearchResult)
On Failure (Error: ESteamMultiplayerError, Error Message: string)
Finds compatible PloxTools managed Steam games using Steam lobby search.
Join Steam Game WorldContextObject (UObject)
LobbyID (FSteamLobbyID)
On Success (Lobby ID: FSteamLobbyID)
On Failure (Error: ESteamMultiplayerError, Error Message: string)
Joins a managed Steam lobby and connects to its host through PloxTools Steam networking.
Leave Steam Game WorldContextObject (UObject) On Success
On Failure (Error: ESteamMultiplayerError, Error Message: string)
Leaves the current managed Steam game, closes its Steam/Unreal network connection and cleans up Lobby membership.
Travel Steam Game WorldContextObject (UObject)
Map (TSoftObjectPtr<UWorld>)
bSeamlessTravel (bool)
TravelOptions (string)
On Success
On Failure (Error: ESteamMultiplayerError, Error Message: string)
Travels the current hosted Steam game to another map while preserving the managed Steam Lobby and session.

Version compatibility: Host and clients must use the same configured Multiplayer Version. The plugin uses it for game discovery and join validation, including automatic connections from an existing Steam Lobby. This setting is independent of Unreal Engine Project Version.


Invites

Node Parameters Callbacks / Return Description
Invite Player To Steam Game UserID (FSteamUserID) bool Sends a lobby invitation to the specified Steam user for the current connected, joinable managed game. The Lobby ID is resolved automatically. true means Steam accepted the send request, not that the friend joined.
Open Steam Invite Dialog For Current Game – bool Requests the Steam Overlay invitation dialog for the current connected, joinable managed game. Requires Steam Overlay; true does not confirm invitation acceptance or connection.

For choosing between managed game, pre-game lobby, and custom connect-string invites, see Steam Invitations and Join Requests.


Events

Node Parameters Callbacks / Return Description
Subscribe To Steam Player Joined – On Joined (User ID: FSteamUserID)
FSteamMultiplayerListenerHandle
Registers a persistent listener fired on the host after a remote Steam player completes Unreal gameplay login.
Subscribe To Steam Player Left – On Left (User ID: FSteamUserID)
FSteamMultiplayerListenerHandle
Registers a persistent listener fired on the host when a connected remote Steam player leaves the managed game.
Subscribe To Steam Game Invitation Received – On Received (From User: FSteamUserID, Lobby ID: FSteamLobbyID)
FSteamMultiplayerListenerHandle
Reports a Steam lobby invitation delivered while the game is running. Returns the inviting user and Lobby ID; does not join the lobby or game.
Subscribe To Steam Game Invitation Accepted – On Accepted (From User: FSteamUserID, Lobby ID: FSteamLobbyID)
FSteamMultiplayerListenerHandle
Reports an accepted Steam lobby invitation or supported Join Game request. Returns the source user when available and Lobby ID. The game must choose Join Steam Game for managed matches or Join Steam Lobby for pre-game lobbies; this callback does not connect automatically.
Subscribe To Steam Game Travel Started – On Started (From Map: string, To Map: string, Seamless Travel: bool)
FSteamMultiplayerListenerHandle
Registers a persistent listener fired when Travel Steam Game begins a managed server travel.
Subscribe To Steam Game Travel Completed – On Completed (Map: string, Seamless Travel: bool)
FSteamMultiplayerListenerHandle
Registers a persistent listener fired after the managed host successfully completes Travel Steam Game.
Subscribe To Steam Game Closed – On Closed
FSteamMultiplayerListenerHandle
Registers a persistent listener fired after the local managed Steam game is intentionally closed by Leave Steam Game.
Subscribe To Steam Game Disconnected – On Disconnected (Error: ESteamMultiplayerError, Error Message: string)
FSteamMultiplayerListenerHandle
Registers a persistent listener fired when an active managed Steam game ends unexpectedly because its network/session was lost.
Subscribe To Steam Host Disconnected – On Disconnected (Host User ID: FSteamUserID, Error Message: string)
FSteamMultiplayerListenerHandle
Registers a persistent client listener fired when the connected Steam host is lost unexpectedly.
Subscribe To Steam Connection Failed – On Failed (Error: ESteamMultiplayerError, Error Message: string)
FSteamMultiplayerListenerHandle
Registers a persistent listener fired when Host Steam Game or Join Steam Game fails while establishing managed Steam networking.
Unsubscribe From Steam Player Joined Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Player Joined listener registered with Subscribe To Steam Player Joined.
Unsubscribe From Steam Player Left Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Player Left listener registered with Subscribe To Steam Player Left.
Unsubscribe From Steam Game Invitation Received Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Game Invitation Received listener.
Unsubscribe From Steam Game Invitation Accepted Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Game Invitation Accepted listener.
Unsubscribe From Steam Game Travel Started Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Game Travel Started listener.
Unsubscribe From Steam Game Travel Completed Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Game Travel Completed listener.
Unsubscribe From Steam Game Closed Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Game Closed listener.
Unsubscribe From Steam Game Disconnected Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Game Disconnected listener.
Unsubscribe From Steam Host Disconnected Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Host Disconnected listener.
Unsubscribe From Steam Connection Failed Handle (FSteamMultiplayerListenerHandle) – Removes a persistent Steam Connection Failed listener.