bUseEOSSessions

bUseEOSSessions

#Overview

name: bUseEOSSessions

The value of this variable can be defined or overridden in .ini config files. 2 .ini config files referencing this setting variable.

It is referenced in 36 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bUseEOSSessions is to control whether the Epic Online Services (EOS) session system is used for online multiplayer sessions instead of the default platform-specific session system.

This setting variable is primarily used by the Online Subsystem EOS Plus module, which is part of the Unreal Engine’s online subsystem framework. It allows developers to choose between using the EOS session system or the platform’s native session system for managing multiplayer game sessions.

The value of this variable is set in the EOS Settings configuration, typically through the project’s configuration files or the Unreal Engine Editor settings.

When bUseEOSSessions is set to true, it affects various session-related operations, such as:

  1. Creating and joining sessions
  2. Searching for sessions
  3. Sending and receiving session invites
  4. Registering and unregistering players in sessions
  5. Managing session state and settings

Developers should be aware that enabling this option may change the behavior of their game’s online functionality. It’s important to test thoroughly when switching between EOS and platform-native session systems.

Best practices when using this variable include:

  1. Ensuring consistent configuration across development and production environments
  2. Testing all session-related functionality when changing this setting
  3. Being aware of platform-specific requirements and limitations when using EOS sessions
  4. Considering cross-platform play implications when using EOS sessions

In summary, bUseEOSSessions is a crucial setting for developers working with online multiplayer games in Unreal Engine, particularly when integrating with Epic Online Services.

#Setting Variables

#References In INI files

Location: <Workspace>/Projects/Lyra/Config/Custom/EOS/DefaultEngine.ini:29, section: [/Script/OnlineSubsystemEOS.EOSSettings]

Location: <Workspace>/Projects/Lyra/Config/Custom/SteamEOS/DefaultEngine.ini:34, section: [/Script/OnlineSubsystemEOS.EOSSettings]

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:140

Scope (from outer to inner):

file
function     FEOSSettings::FEOSSettings

Source code excerpt:

	, bUseEAS(false)
	, bUseEOSConnect(false)
	, bUseEOSSessions(false)
	, bMirrorStatsToEOS(false)
	, bMirrorAchievementsToEOS(false)
	, bMirrorPresenceToEAS(false)
{

}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:189

Scope (from outer to inner):

file
function     const FEOSSettings& UEOSSettings::ManualGetSettings

Source code excerpt:

		GConfig->GetBool(INI_SECTION, TEXT("bUseEAS"), CachedSettings->bUseEAS, GEngineIni);
		GConfig->GetBool(INI_SECTION, TEXT("bUseEOSConnect"), CachedSettings->bUseEOSConnect, GEngineIni);
		GConfig->GetBool(INI_SECTION, TEXT("bUseEOSSessions"), CachedSettings->bUseEOSSessions, GEngineIni);
		GConfig->GetBool(INI_SECTION, TEXT("bMirrorStatsToEOS"), CachedSettings->bMirrorStatsToEOS, GEngineIni);
		GConfig->GetBool(INI_SECTION, TEXT("bMirrorAchievementsToEOS"), CachedSettings->bMirrorAchievementsToEOS, GEngineIni);
		GConfig->GetBool(INI_SECTION, TEXT("bMirrorPresenceToEAS"), CachedSettings->bMirrorPresenceToEAS, GEngineIni);
		// Artifacts explicitly skipped
		GConfig->GetArray(INI_SECTION, TEXT("TitleStorageTags"), CachedSettings->TitleStorageTags, GEngineIni);
		GConfig->GetArray(INI_SECTION, TEXT("AuthScopeFlags"), CachedSettings->AuthScopeFlags, GEngineIni);

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:221

Scope (from outer to inner):

file
function     FEOSSettings UEOSSettings::ToNative

Source code excerpt:

	Native.bUseEAS = bUseEAS;
	Native.bUseEOSConnect = bUseEOSConnect;
	Native.bUseEOSSessions = bUseEOSSessions;
	Native.bMirrorStatsToEOS = bMirrorStatsToEOS;
	Native.bMirrorAchievementsToEOS = bMirrorAchievementsToEOS;
	Native.bMirrorPresenceToEAS = bMirrorPresenceToEAS;
	Algo::Transform(Artifacts, Native.Artifacts, &FArtifactSettings::ToNative);
	Native.TitleStorageTags = TitleStorageTags;
	Native.AuthScopeFlags = AuthScopeFlags;

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:431

Scope (from outer to inner):

file
function     void UEOSSettings::PostEditChangeProperty

Source code excerpt:

			bMirrorAchievementsToEOS = false;
			bMirrorStatsToEOS = false;
			bUseEOSSessions = false;
		}
	}

	// These all require EOS turned on if they are on
	if (PropertyChangedEvent.Property->GetFName() == FName(TEXT("bMirrorAchievementsToEOS")) ||
		PropertyChangedEvent.Property->GetFName() == FName(TEXT("bMirrorStatsToEOS")) ||
		PropertyChangedEvent.Property->GetFName() == FName(TEXT("bUseEOSSessions")))
	{
		if (bMirrorAchievementsToEOS || bMirrorStatsToEOS || bUseEOSSessions)
		{
			bUseEOSConnect = true;
		}
	}

	Super::PostEditChangeProperty(PropertyChangedEvent);

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSSettings.h:81

Scope: file

Source code excerpt:

	bool bUseEAS;
	bool bUseEOSConnect;
	bool bUseEOSSessions;
	bool bMirrorStatsToEOS;
	bool bMirrorAchievementsToEOS;
	bool bMirrorPresenceToEAS;
	TArray<FEOSArtifactSettings> Artifacts;
	TArray<FString> TitleStorageTags;
	TArray<FString> AuthScopeFlags;

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSSettings.h:167

Scope (from outer to inner):

file
class        class UEOSSettings : public URuntimeOptionsBase

Source code excerpt:

	/** Set to true to use EOS for session registration with data mirrored to the default platform */
	UPROPERTY(Config, EditAnywhere, BlueprintReadOnly, Category="Crossplay Settings", DisplayName="Use Crossplay Sessions")
	bool bUseEOSSessions = false;

	/** Set to true to have Epic Accounts presence information updated when the default platform is updated */
	UPROPERTY(Config, EditAnywhere, BlueprintReadOnly, Category="Crossplay Settings")
	bool bMirrorPresenceToEAS = false;

	/**

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:10

Scope (from outer to inner):

file
function     FOnlineSessionEOSPlus::FOnlineSessionEOSPlus

Source code excerpt:

FOnlineSessionEOSPlus::FOnlineSessionEOSPlus(FOnlineSubsystemEOSPlus* InSubsystem)
	: EOSPlus(InSubsystem)
	, bUseEOSSessions(false)
{
	BaseSessionInterface = EOSPlus->BaseOSS->GetSessionInterface();
	EOSSessionInterface = EOSPlus->EosOSS->GetSessionInterface();
	check(BaseSessionInterface.IsValid() && EOSSessionInterface.IsValid());

	bUseEOSSessions = UEOSSettings::GetSettings().bUseEOSSessions;

	BaseSessionInterface->AddOnSessionUserInviteAcceptedDelegate_Handle(FOnSessionUserInviteAcceptedDelegate::CreateRaw(this, &FOnlineSessionEOSPlus::OnSessionUserInviteAcceptedBase));
	BaseSessionInterface->AddOnSessionInviteReceivedDelegate_Handle(FOnSessionInviteReceivedDelegate::CreateRaw(this, &FOnlineSessionEOSPlus::OnSessionInviteReceivedBase));
	BaseSessionInterface->AddOnCreateSessionCompleteDelegate_Handle(FOnCreateSessionCompleteDelegate::CreateRaw(this, &FOnlineSessionEOSPlus::OnCreateSessionComplete));

	IOnlineSessionPtr PrimaryInterface = BaseSessionInterface;
	if (bUseEOSSessions)
	{
		PrimaryInterface = EOSSessionInterface;

		EOSSessionInterface->AddOnSessionUserInviteAcceptedDelegate_Handle(FOnSessionUserInviteAcceptedDelegate::CreateRaw(this, &FOnlineSessionEOSPlus::OnSessionUserInviteAcceptedEOS));
		EOSSessionInterface->AddOnSessionInviteReceivedDelegate_Handle(FOnSessionInviteReceivedDelegate::CreateRaw(this, &FOnlineSessionEOSPlus::OnSessionInviteReceivedEOS));
	}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:143

Scope (from outer to inner):

file
function     void FOnlineSessionEOSPlus::OnSessionUserInviteAcceptedBase

Source code excerpt:

	}

	if (bUseEOSSessions)
	{
		FString SessionIdStr;
		InviteResult.Session.SessionSettings.Get(SETTING_CUSTOM_JOIN_INFO, SessionIdStr);
		if (SessionIdStr.IsEmpty())
		{
			UE_LOG_ONLINE(Error, TEXT("Failed to get EOS session id from base session"));

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:220

Scope (from outer to inner):

file
function     void FOnlineSessionEOSPlus::OnSessionInviteReceivedBase

Source code excerpt:

	}

	if (bUseEOSSessions)
	{
		FString SessionIdStr;
		InviteResult.Session.SessionSettings.Get(SETTING_CUSTOM_JOIN_INFO, SessionIdStr);
		if (SessionIdStr.IsEmpty())
		{
			UE_LOG_ONLINE(Error, TEXT("Failed to get EOS session id from base session"));

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:340

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::CreateSession

Source code excerpt:

{
	// If EOS is enabled, create there and mirror on platform and include EOS session info
	if (bUseEOSSessions)
	{
		OnCreateSessionCompleteDelegateHandleEOS = EOSSessionInterface->AddOnCreateSessionCompleteDelegate_Handle(
			FOnCreateSessionCompleteDelegate::CreateLambda([this, HostingPlayerNum](FName SessionName, bool bWasSuccessful)
		{
#if CREATE_MIRROR_PLATFORM_SESSION
			if (bWasSuccessful)

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:384

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::CreateSession

Source code excerpt:


	// If EOS is enabled, create there and mirror on platform and include EOS session info
	if (bUseEOSSessions)
	{
		OnCreateSessionCompleteDelegateHandleEOS = EOSSessionInterface->AddOnCreateSessionCompleteDelegate_Handle(
			FOnCreateSessionCompleteDelegate::CreateLambda([this, HostingPlayerIdStr](FName SessionName, bool bWasSuccessful)
				{
#if CREATE_MIRROR_PLATFORM_SESSION
					if (bWasSuccessful)

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:423

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::StartSession

Source code excerpt:

bool FOnlineSessionEOSPlus::StartSession(FName SessionName)
{
	if (bUseEOSSessions)
	{
		if (!EOSSessionInterface->StartSession(SessionName))
		{
			return false;
		}
	}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:440

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::UpdateSession

Source code excerpt:

bool FOnlineSessionEOSPlus::UpdateSession(FName SessionName, FOnlineSessionSettings& UpdatedSessionSettings, bool bShouldRefreshOnlineData)
{
	if (bUseEOSSessions)
	{
		if (!EOSSessionInterface->UpdateSession(SessionName, UpdatedSessionSettings, bShouldRefreshOnlineData))
		{
			return false;
		}
	}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:461

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::EndSession

Source code excerpt:

bool FOnlineSessionEOSPlus::EndSession(FName SessionName)
{
	if (bUseEOSSessions)
	{
		if (!EOSSessionInterface->EndSession(SessionName))
		{
			return false;
		}
	}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:480

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::DestroySession

Source code excerpt:

bool FOnlineSessionEOSPlus::DestroySession(FName SessionName, const FOnDestroySessionCompleteDelegate& CompletionDelegate)
{
	if (bUseEOSSessions)
	{
		if (!EOSSessionInterface->DestroySession(SessionName, CompletionDelegate))
		{
			return false;
		}
	}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:497

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::IsPlayerInSession

Source code excerpt:

bool FOnlineSessionEOSPlus::IsPlayerInSession(FName SessionName, const FUniqueNetId& UniqueId)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(UniqueId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:543

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::FindSessions

Source code excerpt:

bool FOnlineSessionEOSPlus::FindSessions(int32 SearchingPlayerNum, const TSharedRef<FOnlineSessionSearch>& SearchSettings)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->FindSessions(SearchingPlayerNum, SearchSettings);
	}
	return BaseSessionInterface->FindSessions(SearchingPlayerNum, SearchSettings);
}

bool FOnlineSessionEOSPlus::FindSessions(const FUniqueNetId& SearchingPlayerId, const TSharedRef<FOnlineSessionSearch>& SearchSettings)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(SearchingPlayerId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:571

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::FindSessionById

Source code excerpt:

bool FOnlineSessionEOSPlus::FindSessionById(const FUniqueNetId& SearchingUserId, const FUniqueNetId& SessionId, const FUniqueNetId& FriendId, const FOnSingleSessionResultCompleteDelegate& CompletionDelegate)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(SearchingUserId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:600

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::CancelFindSessions

Source code excerpt:

bool FOnlineSessionEOSPlus::CancelFindSessions()
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->CancelFindSessions();
	}
	return BaseSessionInterface->CancelFindSessions();
}

bool FOnlineSessionEOSPlus::PingSearchResults(const FOnlineSessionSearchResult& SearchResult)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->PingSearchResults(SearchResult);
	}
	return BaseSessionInterface->PingSearchResults(SearchResult);
}

bool FOnlineSessionEOSPlus::JoinSession(int32 PlayerNum, FName SessionName, const FOnlineSessionSearchResult& DesiredSession)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->JoinSession(PlayerNum, SessionName, DesiredSession);
	}
	return BaseSessionInterface->JoinSession(PlayerNum, SessionName, DesiredSession);
}

bool FOnlineSessionEOSPlus::JoinSession(const FUniqueNetId& PlayerId, FName SessionName, const FOnlineSessionSearchResult& DesiredSession)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(PlayerId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:646

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::FindFriendSession

Source code excerpt:

bool FOnlineSessionEOSPlus::FindFriendSession(int32 LocalUserNum, const FUniqueNetId& Friend)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->FindFriendSession(LocalUserNum, Friend);
	}
	return BaseSessionInterface->FindFriendSession(LocalUserNum, Friend);
}

bool FOnlineSessionEOSPlus::FindFriendSession(const FUniqueNetId& LocalUserId, const FUniqueNetId& Friend)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(LocalUserId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:684

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::FindFriendSession

Source code excerpt:

bool FOnlineSessionEOSPlus::FindFriendSession(const FUniqueNetId& LocalUserId, const TArray<FUniqueNetIdRef>& FriendList)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(LocalUserId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:703

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::SendSessionInviteToFriend

Source code excerpt:

bool FOnlineSessionEOSPlus::SendSessionInviteToFriend(int32 LocalUserNum, FName SessionName, const FUniqueNetId& Friend)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr FriendId = GetEOSNetId(Friend.ToString());
		if (FriendId.IsValid())
		{
			// We want to send the platform invite always to comply with platform requirements, so we won't return here
			EOSSessionInterface->SendSessionInviteToFriend(LocalUserNum, SessionName, *FriendId);

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:722

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::SendSessionInviteToFriend

Source code excerpt:

bool FOnlineSessionEOSPlus::SendSessionInviteToFriend(const FUniqueNetId& LocalUserId, FName SessionName, const FUniqueNetId& Friend)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(LocalUserId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:754

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::SendSessionInviteToFriends

Source code excerpt:

bool FOnlineSessionEOSPlus::SendSessionInviteToFriends(int32 LocalUserNum, FName SessionName, const TArray<FUniqueNetIdRef>& Friends)
{
	if (bUseEOSSessions)
	{
		// We want to send the platform invite always to comply with platform requirements, so we won't return here
		EOSSessionInterface->SendSessionInviteToFriends(LocalUserNum, SessionName, GetEOSNetIds(Friends));
	}

	return BaseSessionInterface->SendSessionInviteToFriends(LocalUserNum, SessionName, GetBaseNetIds(Friends));

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:765

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::SendSessionInviteToFriends

Source code excerpt:

bool FOnlineSessionEOSPlus::SendSessionInviteToFriends(const FUniqueNetId& LocalUserId, FName SessionName, const TArray<FUniqueNetIdRef>& Friends)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(LocalUserId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:787

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::GetResolvedConnectString

Source code excerpt:

bool FOnlineSessionEOSPlus::GetResolvedConnectString(FName SessionName, FString& ConnectInfo, FName PortType)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->GetResolvedConnectString(SessionName, ConnectInfo, PortType);
	}
	return BaseSessionInterface->GetResolvedConnectString(SessionName, ConnectInfo, PortType);
}

bool FOnlineSessionEOSPlus::GetResolvedConnectString(const FOnlineSessionSearchResult& SearchResult, FName PortType, FString& ConnectInfo)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->GetResolvedConnectString(SearchResult, PortType, ConnectInfo);
	}
	return BaseSessionInterface->GetResolvedConnectString(SearchResult, PortType, ConnectInfo);
}

FOnlineSessionSettings* FOnlineSessionEOSPlus::GetSessionSettings(FName SessionName)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->GetSessionSettings(SessionName);
	}
	return BaseSessionInterface->GetSessionSettings(SessionName);
}

FString FOnlineSessionEOSPlus::GetVoiceChatRoomName(int32 LocalUserNum, const FName& SessionName)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->GetVoiceChatRoomName(LocalUserNum, SessionName);
	}

	return BaseSessionInterface->GetVoiceChatRoomName(LocalUserNum, SessionName);
}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:824

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::RegisterPlayer

Source code excerpt:

bool FOnlineSessionEOSPlus::RegisterPlayer(FName SessionName, const FUniqueNetId& PlayerId, bool bWasInvited)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(PlayerId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:851

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::RegisterPlayers

Source code excerpt:

bool FOnlineSessionEOSPlus::RegisterPlayers(FName SessionName, const TArray<FUniqueNetIdRef>& Players, bool bWasInvited)
{
	if (bUseEOSSessions)
	{
		if (!EOSSessionInterface->RegisterPlayers(SessionName, GetEOSNetIds(Players), bWasInvited))
		{
			return false;
		}
	}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:868

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::UnregisterPlayer

Source code excerpt:

bool FOnlineSessionEOSPlus::UnregisterPlayer(FName SessionName, const FUniqueNetId& PlayerId)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(PlayerId.ToString());
		if (!Id.IsValid())
		{
			return false;
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:895

Scope (from outer to inner):

file
function     bool FOnlineSessionEOSPlus::UnregisterPlayers

Source code excerpt:

bool FOnlineSessionEOSPlus::UnregisterPlayers(FName SessionName, const TArray<FUniqueNetIdRef>& Players)
{
	if (bUseEOSSessions)
	{
		if (!EOSSessionInterface->UnregisterPlayers(SessionName, GetEOSNetIds(Players)))
		{
			return false;
		}
	}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:914

Scope (from outer to inner):

file
function     void FOnlineSessionEOSPlus:: RegisterLocalPlayer

Source code excerpt:

void FOnlineSessionEOSPlus:: RegisterLocalPlayer(const FUniqueNetId& PlayerId, FName SessionName, const FOnRegisterLocalPlayerCompleteDelegate& Delegate)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(PlayerId.ToString());
		if (Id.IsValid())
		{
			EOSSessionInterface->RegisterLocalPlayer(*Id, SessionName, Delegate);
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:941

Scope (from outer to inner):

file
function     void FOnlineSessionEOSPlus:: UnregisterLocalPlayer

Source code excerpt:

void FOnlineSessionEOSPlus:: UnregisterLocalPlayer(const FUniqueNetId& PlayerId, FName SessionName, const FOnUnregisterLocalPlayerCompleteDelegate& Delegate)
{
	if (bUseEOSSessions)
	{
		FUniqueNetIdPtr Id = GetEOSNetId(PlayerId.ToString());
		if (Id.IsValid())
		{
			EOSSessionInterface->UnregisterLocalPlayer(*Id, SessionName, Delegate);
		}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:966

Scope (from outer to inner):

file
function     int32 FOnlineSessionEOSPlus::GetNumSessions

Source code excerpt:

int32 FOnlineSessionEOSPlus::GetNumSessions()
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->GetNumSessions();
	}
	return BaseSessionInterface->GetNumSessions();
}

void FOnlineSessionEOSPlus:: DumpSessionState()
{
	if (bUseEOSSessions)
	{
		EOSSessionInterface->GetNumSessions();
	}

#if CREATE_MIRROR_PLATFORM_SESSION
	BaseSessionInterface->GetNumSessions();

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:987

Scope (from outer to inner):

file
function     FNamedOnlineSession* FOnlineSessionEOSPlus::GetNamedSession

Source code excerpt:

FNamedOnlineSession* FOnlineSessionEOSPlus::GetNamedSession(FName SessionName)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->GetNamedSession(SessionName);
	}
	return BaseSessionInterface->GetNamedSession(SessionName);
}

void FOnlineSessionEOSPlus:: RemoveNamedSession(FName SessionName)
{
	if (bUseEOSSessions)
	{
		EOSSessionInterface->RemoveNamedSession(SessionName);
		return;
	}
	BaseSessionInterface->RemoveNamedSession(SessionName);
}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.cpp:1006

Scope (from outer to inner):

file
function     EOnlineSessionState::Type FOnlineSessionEOSPlus::GetSessionState

Source code excerpt:

EOnlineSessionState::Type FOnlineSessionEOSPlus::GetSessionState(FName SessionName) const
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->GetSessionState(SessionName);
	}
	return BaseSessionInterface->GetSessionState(SessionName);
}

bool FOnlineSessionEOSPlus::HasPresenceSession()
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->HasPresenceSession();
	}
	return BaseSessionInterface->HasPresenceSession();
}

FUniqueNetIdPtr FOnlineSessionEOSPlus::CreateSessionIdFromString(const FString& SessionIdStr)
{
	if (bUseEOSSessions)
	{
		return EOSSessionInterface->CreateSessionIdFromString(SessionIdStr);
	}
	return BaseSessionInterface->CreateSessionIdFromString(SessionIdStr);
}

#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOSPlus/Private/OnlineSessionEOSPlus.h:100

Scope (from outer to inner):

file
class        class FOnlineSessionEOSPlus : public IOnlineSession

Source code excerpt:

	/** Reference to the owning EOS plus subsystem */
	FOnlineSubsystemEOSPlus* EOSPlus;
	bool bUseEOSSessions;

	/** Critical sections for thread safe operation of session lists */
	mutable FCriticalSection SessionLock;
	/** Current session settings */
	TArray<FNamedOnlineSession> Sessions;