Join Session Failing with "Unknown Error" or "Joining Failed" (EOS)

Hi,

I’m having some trouble getting Join Session to work properly. I’m able to log in to EOS using the DevAuthTool and I’m able to create and host the session. I’m even able to get a list of available sessions. But when I try to join a session, it fails with “Unknown Error”.

At the moment this project is just the Unreal 5.6 Third Person template, with the Common User plugin from Lyra installed. I’m using Lyra as the basis for how I’ve done things.

The project been added to the EOS backend so I have the product ID etc. all set up and I was able to test with two PCs and the Lyra project using the product ID, common user plugin and join session. It was working fine in Lyra.

This is the setup I currently have, which is just done in the BP_ThirdPersonCharacter:

Login to EOS (This works because I’m able to bring up the in-game overlay using Shift + F3)

This is how one creates a session:

This is how available sessions are retrieved by the connecting player:

Once the available session is found, we try to connect to it. The session ID that we attempt to connect to is showing up correctly on both machines:

This always fails though. I get “Unknown Error” or if I keep trying, eventually the error turns into “Joining failed”

I am including two snippets of logs. One is the host log, where the session has been created. The other is the client log, who is attempting to connect to the session. Some things looked a bit suspicious, but Googling them resulted in no fixes or anything tangible.

Host.txt (4.2 KB)
Client.txt (9.3 KB)

These are the plugins from the .uproject:

.uproject plugins

“Plugins”: [
{
“Name”: “ModelingToolsEditorMode”,
“Enabled”: true
},
{
“Name”: “StateTree”,
“Enabled”: true
},
{
“Name”: “GameplayStateTree”,
“Enabled”: true
},
{
“Name”: “VisualStudioTools”,
“Enabled”: true,
“SupportedTargetPlatforms”: [
“Win64”
]
},
{
“Name”: “OnlineServicesEOS”,
“Enabled”: true
},
{
“Name”: “OnlineServicesNull”,
“Enabled”: true
},
{
“Name”: “OnlineSubsystemEOS”,
“Enabled”: true
},
{
“Name”: “OnlineSubsystemSteam”,
“Enabled”: true
}
]

I feel like there’s some crucial bit of setup or maybe a setting that I’m missing? When the host player creates a session, it successfully transitions into the Combat example map from the Third Person Template, but when the other player attempts to connect it just fails and they’re left standing in the default map. Is there some special build setting that I need to use to make sure they’re ListenClient or something? I’ve seen suggested elsewhere that a map being loaded needs to be appended with ?listen. I’ve tried to poke through Lyra to find where I’ve gone wrong but from what I can tell the setup is exactly the same. I followed this guide to get Lyra working with my EOS backend product. I’m using the DevAuthTool on both machines.

Any help would be appreciated.