OSS Steam SessionSearch->SearchResults.Num() == 0

Hi there!

I’ve got a problem with finding sessions that are created by OSS Steam
Creation of the session by hosting player is as shown below:

if (auto OSS = IOnlineSubsystem::Get("Steam"))
    {
        auto SessionsInterface = OSS->GetSessionInterface();

        if (SessionsInterface.IsValid())
        {
            FOnlineSessionSettings set;
            // set.bIsLANMatch(false)          ;
            // set.bIsDedicated(false)         ;
            // set.bUsesStats(false)           ;
            // set.bAntiCheatProtected(false)  ;
            // set.BuildUniqueId(0)            ;
            set.bShouldAdvertise = true;
            set.bAllowJoinViaPresenceFriendsOnly = false;
            set.bAllowJoinViaPresence = true;
            set.NumPrivateConnections = 4;
            set.NumPublicConnections = 4;
            set.bAllowInvites = true;
            set.bUsesPresence = true;
            set.bAllowJoinInProgress = true;
            set.Set(SETTING_MAPNAME, FString(TEXT("")), EOnlineDataAdvertisementType::ViaOnlineService);
            //set.Set(SETTING_CUSTOM, FString("MOJA_Mapa"), EOnlineDataAdvertisementType::ViaOnlineService);

            return SessionsInterface->CreateSession(0, SESSION_NAME, set);
        }
    }

After that the OnCreateSessionComplete callback is being fired with bWasSuccessful = true

void AMyGameSession::OnCreateSessionComplete(FName LookingSessionName, bool bWasSuccessful)
{
    UE_LOG(MyProjectLog, Log, TEXT("OnCreateSessionComplete SessionName: %s, bWasSuccessful: %d"), *LookingSessionName.ToString(), bWasSuccessful);

    if (bWasSuccessful)
    {
        GetWorld()->ServerTravel(TEXT("ThirdPersonExampleMap?listen"), true);
    }
}

I’m assuming that the whole process of creating the session has run correctly. And when another person is trying to find sessions all callbacks are telling me that everything went right, however SearchResults.Num() is always 0.

bool AMyGameSession::FindSession(FName SessionName, bool bIsLAN, bool bIsPresence)
{
    if (auto OSS = IOnlineSubsystem::Get("Steam"))
    {
        auto SessionsInterface = OSS->GetSessionInterface();
        if (SessionsInterface.IsValid())
        {
            SessionSearch = MakeShareable(new FOnlineSessionSearch());
            SessionSearch->MaxSearchResults = 20;
            SessionSearch->PingBucketSize = 9999;
            SessionSearch->bIsLanQuery = bIsLAN;
            SessionSearch->TimeoutInSeconds = 120.0f;

            if (bIsPresence)
            {
                //actually try to find anything
            //    SessionSearch->QuerySettings.Set(SEARCH_PRESENCE, bIsPresence, EOnlineComparisonOp::Equals);
            }

            //SessionSearch->QuerySettings.Set(SETTING_CUSTOM, FString("MOJA_Mapa"), EOnlineComparisonOp::Equals);

            return SessionsInterface->FindSessions(0, SessionSearch.ToSharedRef());
        }
    }

    return false;
}

void AMyGameSession::OnFindSessionsComplete(bool bWasSuccessful)
{
    UE_LOG(MyProjectLog, Log, TEXT("OnFindSessionsComplete bWasSuccessful: %d"), bWasSuccessful);

    if (bWasSuccessful)
    {
        if (auto OSS = IOnlineSubsystem::Get("Steam"))
        {
            auto SessionsInterface = OSS->GetSessionInterface();
            if (SessionsInterface.IsValid())
            {
                UE_LOG(MyProjectLog, Log, TEXT("OnFindSessionsComplete SessionsNum: %d"), SessionSearch->SearchResults.Num());
                if (SessionSearch->SearchResults.Num() > 0)
                {
                    UE_LOG(MyProjectLog, Log, TEXT("================= Sessions ==============="));
                    for (int32 SearchIdx = 0; SearchIdx < SessionSearch->SearchResults.Num(); SearchIdx++)
                    {
                        UE_LOG(MyProjectLog, Log, TEXT("Session Number: %d, OwnerName: %s "), SearchIdx + 1, *(SessionSearch->SearchResults[SearchIdx].Session.OwningUserName));

                        JoinSession(SessionSearch->SearchResults[SearchIdx]);
                    }
                    UE_LOG(MyProjectLog, Log, TEXT("========================================"));

                }
            }
        }
    }
}

My question is where I’ve made something wrong? The config file if someone is wondering if I’ve set up it correctly:

[Core.Log]
LogOnline=Always
LogNet=Always

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=<my custom AppId>

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=OnlineSubsystemSteam.SteamNetConnection

Any help will be appriciated!

Actually code was fine, there was little fuckup with blueprint implementation (missing checkbox).