I was able to resolve my issue with adding an updatesession call to the start game session function on gameinstance. I added a update deleagte to init above the network error delegate. I probably could have that code in a seperate function and just call the fuction itself instead of directly in start game. The way I have it set is basically updating the session right after we start it. I have it set to just hide the session after we start it allowing people to join if they had the session name, but having this in own function would futher allow someone to modify the session as they change game modes to creating a new session.
SessionInterface->OnUpdateSessionCompleteDelegates.AddUObject(this,&UPuzzlePlatformsGameInstance::OnUpdateSessionComplete);
if(GEngine != nullptr)
{
GEngine->OnNetworkFailure().AddUObject(this, &UPuzzlePlatformsGameInstance::OnNetworkFailure);
}
void UPuzzlePlatformsGameInstance::StartSession()
{
if(SessionInterface.IsValid())
{
FOnlineSessionSettings UpdateSettings;
UpdateSettings.bShouldAdvertise = false;
UpdateSettings.bUsesPresence = true;
UpdateSettings.bUseLobbiesIfAvailable = true;
UpdateSettings.bIsDedicated = false;
SessionInterface->StartSession(NAME_GameSession);
SessionInterface->UpdateSession(NAME_GameSession, UpdateSettings,true);
}
}
It looks like this was changed in 5.1 and this will only apply if you are using lanmatch. I tried to call update sessions settings via game start. But still seems to advetrtise the game regardless of what I do. So not sure where else to go with this. I am sure if the steam sub system was selected this would also work as intended. With NULL OSS and Not using lan match makes it so the session is always advertised. Meaning there is no solution that I can figure out at the moment and I am just going to move on as I don’t think it matters all too much at this point.