Minimal multiplayer setup with Advanced Sessions and Steam in Unreal Engine 5.4
3 min read
This is the minimum setup you are going to need to quickly playtest your projects with friends in Unreal Engine 5.4.
I created this guide because I always forget how to have a quick setup so I can begin testing my games with my friends.
Prerequisites
A project (any template provided by Epic is enough) with replication enabled on the characters.
Guide
1. Download Advanced Sessions Plugin
Advanced Sessions is available in GitHub, download it as a ZIP file. It needs to be installed as any Unreal Engine plugin, inside your project folder under the Plugins folder (create it if it does not exist; the Plugins folder has to be besides the .uproject file).
- Plugins/ <-- Create it if does not exist
- AdvancedSessions/ <-- New
- AdvancedSteamSessions/ <-- New
- Content/
- Source/
- Config/
- gamename.uproject
Inside Unreal Engine check the Advanced Sessions and Advanced Sessions Steam are enabled in the plugins section.
2. Configuring the project
Configure the DefaultEngine.ini found on YourProjectFolder/Config/ and add the following content at the top.
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
; If using Sessions
bInitServerOnClient=true
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
This makes Unreal use the Steam Online Subsystem. You can read the full explication of the changes in the Unreal Docs.
3. Updating the GameInstance
The Advanced Sessions plugin provides with AdvancedFriendsGameInstance, a GameInstance capable of handling online session events. After subclassing it, and setting it as active in the project settings.
The new GameInstance will be completed later in the Joining section.

It is possible to subclass the
AdvancedFriendsGameInstancein C++ and then derive a newGameInstanceblueprint from the C++ one.
4. Hosting
The GameMode will handle the process to host a new match. Make sure the GameMode created is used on the WorldSettings.
Calling the Create Advanced Session method will create a new online session with Steam with the configuration provided. After creating the session, a new map can be loaded using the listen option, this will allow other players to join it.

5. Joining
The simplest way I have found to try that the host is joinable is by using Steam and a second computer with a different Steam account.
The quickest way of handling joining a session is using the GameInstance created before and overriding the OnSessionInviteAccepted event. This event is called whenever the local player accepts an invite from Steam.

That means the invitation has to come from Steam. To do so, first host a match with one computer, and then on the Steam overlay invite the other player. As soon as the invitation is accepted in the Steam overlay, the player will join the session of the host.
Additional information
Why does this work? Unreal Engine provides an Online Steam Subsystem to handle connections with Steam in C++, to expose that functionality in Blueprints, the AdvancedSessions plugin is used.
Using Steam presence
When creating the session you can enable the bUsePresence checkbox, it makes Steam know that you are inside of a multiplayer session. This is way simpler and faster than creating additional UI elements to handle a list of all possible matches to join.
Read more about Steam Presence.
What is "Spacewar"?
When using the default SteamId 480, the game will apear to be called Spacewar when launched, that is because of the SteamDevAppId we used when configuring the project in the DefaultEngine.ini. The SteamDevAppId=480 is reserved for developers who want to test their game on the Steam platform but that haven't paid their own store yet.
Conclusion
In this quick guide reviews some concepts to playtest multiplayer games in Unreal Engine 5.4 using Steam and the Advanced Session plugin.
After packaging the project and sharing it, other players will be able to host and join sessions, and play together.
I hope you have learned something new!
Made by Lorwen with 🧡