Since SEARCH_PRESENCE is deprecated in ue 5.5 it is no lonjger possible to join steam games.
How should my code be changed? Also says presence and lobbies have to be same value. But if I set lobbies to false, the games are not even searchable. Any ideas what todo?
Getting EOnJoinSessionCompleteResult::Type::UnknownError on join session complete handler.
STEAM: [FOnlineSessionSteam::JoinSession] The values of FOnlineSessionSettings::bUsesPresence and FOnlineSessionSettings::bUseLobbiesIfAvailable are treated as equal and have to match
and this in console
yeah ok so I cant set search presence in search anymore, but joining session still requires it. so modifying the search result setting before joining fixes it:
SearchResults[ID].Session.SessionSettings.bUsesPresence = true;
SearchResults[ID].Session.SessionSettings.bUseLobbiesIfAvailable = true;
SessionInterface->JoinSession(0, FName(“Game”), SearchResults[ID]);
still don’t understand why or how this change. some explanation somewhere owuld be nice
Replace SEARCH_PRESENCE macro with SEARCH_LOBBIES key or other query parameters depending on your requirements. These are defined in OnlineSessionSettings.h.
Yeah no, SEARCH_LOBBIES doesn’t work. The search result is still checking for is bPresence is enabled, and that doesn’t get set to true by any other macro. Or at least I cannot find the right other macro.
for me. That made me see WAY more results in the LogOnlineSession logs. But after that, I wasn’t able to join my game. Then I noticed another log after it listed all the found sessions
[2025.06.28-20.59.57:781][224]LogOnlineSession: Warning: STEAM: [FOnlineSessionSteam::JoinSession] The values of FOnlineSessionSettings::bUsesPresence and FOnlineSessionSettings::bUseLobbiesIfAvailable are treated as equal and have to match
So this must be a new requirement going up Unreal Engine versions. Once I set those two keys on the search result before joining it, I got it to work too!
What I’m confused about is why the connecting client would have to set session settings. Wouldn’t they be coming from the host? Those bools are already set when I created the session, it’s weird we have to set it here too before joining.