Hi,
I’m trying to migrate my project from UE 5.5.4 to UE 5.6.
Everything has been going well so far, except for the Steam integration.
The scenario is as follows;
A hosting player runs the packaged game on a PC with Steam Account - A and creates a lobby session and successfully travels to lobby map via server travel.
World->ServerTravel(PathToLobby);
Another player (client) runs the same packaged game on another PC with Steam Account - B and tries to join host player A.
I have the same issue in UE5.6.
In my case, the issue occurs when I try to connect Lobby.
I was perfect in UE5.5 but in UE5.6 does not work.
I am still looking for a solution or a Hero.
Checked several free assets or opensource GitHub projects too. No chance…
I’m starting to think there’s a serious problem with UE5.6’s OnlineSubsystemSteam module. I’ll stop looking into it now. I hope someone figures it out.
I’m experiencing the same issue and haven’t been able to get it working.
I noticed there were some changes to SocketSubsystemSteamIP and OnlineSubsystemSteam in UE 5.6. I’m just trying to implement a basic CreateSession → FindSession → JoinSession flow.
Everything seems to work fine — except the ClientTravel using the resolved connect string.
When running the same project on UE 5.5, it works flawlessly and both players can connect without issues.
Here’s the error the client gets when trying to connect:
LogNet: Error: Unable to find a binding socket for the resolve address result 7656412030524655:7777
LogNet: Warning: Encountered an error, cleaning up this connection now
LogNet: Error: BroadcastNetworkFailure: FailureType = PendingConnectionFailure, Error: Your connection to the host has been lost.
At first, I had trouble setting up SteamNetDriver properly due to the recent changes with SocketSubsystemSteamIP, but I eventually resolved that — only for this connection error to persist.
For now, I’ll probably go back to 5.5 — I have no idea what’s going wrong in 5.6 anymore.
I’m adding myself to the list. I used a free Steam plugin in 5.5 that stopped working in 5.6.
I’ve been trying to solve this since the release day of 5.6
Long story short, no success and I’ve started to rip out Steam and implemented a simple OnlineSubsystem for testing purposes.
Dedicated server creates and announces sessions, client can see it but Join Session does not work.
However, the error is a PendingConnectionFailure, too.
Client log:
[2025.06.10-00.15.20:344][732]LogNet: Warning: Exhausted the number of resolver results, closing the connection now.
[2025.06.10-00.15.20:360][733]LogNet: Warning: Encountered an error, cleaning up this connection now
[2025.06.10-00.15.20:378][734]LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = PendingConnectionFailure, ErrorString = Your connection to the host has been lost., Driver = Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147480581
[2025.06.10-00.15.20:378][734]LogNet: Warning: Network Failure: PendingNetDriver[PendingConnectionFailure]: Your connection to the host has been lost.
[2025.06.10-00.15.20:378][734]LogNet: NetworkFailure: PendingConnectionFailure, Error: 'Your connection to the host has been lost.'
My server has an IPv6 address and I don’t know what “Exhausted number of resolver results” is meant to say - there’s nothing to resolve…
I got it to work again too with the help of some friendly people from the Unreal Source Discord. Works for the dedicated server but requires a lot of changes to Unreal source code.
I ran into the same issue when moving to 5.6 and determined it was because the SteamNetDriver has been moved. SteamNetDriver now exists in the SocketSubsystemSteamIP module as opposed to the original location in OnlineSubsystemSteam.
I believe that steam subsystem was already working using steam sockets (since version 4.something).
They just silently moved the NetDriver class to the other module, you mentioned.
You can take a look at this: Unreal Engine Issues and Bug Tracker (UE-297279)
So…this works…however…Now I have to do something that I feel like is not the right way to do it despite it now working.
Hopefully someone can give me some advice. (My game is Blueprints Only)
Relevant Plugins Enabled:
Online Subsystem Steam
Steam Sockets
Advanced Steam Sessions
Relevant DefaultEngine.ini settings:
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="/Script/SteamSockets.SteamNetSocketsNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
bInitServerOnClient=true
bHasVoiceEnabled=true
PollingIntervalInMs=20
[OnlineSubsystemSteam]
bEnabled=true
bInitServerOnClient=true --I candidly have no idea wtf this does, saw in another post
bUseSteamNetworking=true --I candidly have no idea wtf this does, saw in another post
bAllowP2PPacketRelay=true --I candidly have no idea wtf this does, saw in another post
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=OnlineSubsystemSteam.SteamNetConnection
Given all that, I have this currently working on UE5.6:
Player A Hosts a Server
Player B can join Player A’s server
Player A starts the game and sends everyone that is a client to a Transition Map
When all clients are gone, Player A does “ServerTravel” with Seamless Travel enabled to the game map, and then all clients rejoin the server.
Game ends, and then Step 3 happens again. Clients are kicked to a Transition Map. Server Seamless Travels to the Lobby Map. Clients then rejoin the server
This was working the exact same in UE5.5 (I wasn’t using Steam Sockets), but I was using “Open Level” with “listen” (which felt cleaner), and I never used ServerTravel.
Anytime I try to use Open Level WITH or WITHOUT “listen”, the server gets kicked to the Menu:
SteamSockets API: Error Cannot create listen socket. Already have a listen socket on P2P vport 7777
Only ServerTravel seems to work in UE5.6 for my specific scenario, and ONLY if Seamless Travel is enabled. The error only kind of makes sense. Is the default code really unable to ignore the duplicate listen socket error? Does it seriously have to just crash to Menu?
I prefer that my clients are loaded to a Transition Level before the match starts, so I’m not really interested in having them all travel together to the game map.
This is just word vomit at this point, but if anyone has any alternative advice let me know.
7 tells steam to be enabled for the application.
8 + 9 just tells steam what game is launching. you replace this with an Steam AppID steam provides once you purchase the rights to post a game on their store.
10 tells unreal engine you want access to steams networking tools which I’ll explain further.
11 replaces bInitServerOnClient. bInitServerOnClient would allow you to host a server on your local pc currently running the client, then let the client join, and potentially others as well. bAllowP2PPacketRelay tells the newer engine you would like to allow Peer2Peer Connections which includes the server/Client setup.
Online Subsystem Steam is an API that allows you to access steams interfaces,
Some interfaces:
Matchmaking (Lobbies and GameServer APIs)
Leaderboards
Achievements
Voice
UserCloud
SharedCloud
External UI
From what I understand, Steam Sockets is a plugin that extends Online Subsystem steam and includes the following.
Improved Security and Reliability
DDos Protection
End to end encryption with NAT Traversal
Ping calculation for listen servers, this allows Matchmaking systems to determine optimal servers by ping without having to join them. The older SteamNetworking could not provide ping calculation until users were already connected to the server.