IntegratedPlatformManagementFlags
IntegratedPlatformManagementFlags
#Overview
name: IntegratedPlatformManagementFlags
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 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of IntegratedPlatformManagementFlags is to configure management options for integrated platforms within the Epic Online Services (EOS) SDK. This variable is used to set up and control various aspects of integrated platform management in the EOS ecosystem.
This setting variable is primarily used by the EOS Shared plugin, which is part of the online subsystem in Unreal Engine. Specifically, it’s utilized within the EOSSDKManager class, which is responsible for managing the EOS SDK integration with Unreal Engine.
The value of this variable is set in the LoadConfig function of the EOSSDKManager class. It reads configuration data from the engine’s INI file (GEngineIni) under a specific section name. The flags are parsed from strings into EOS_EIntegratedPlatformManagementFlags enum values and combined using bitwise OR operations.
IntegratedPlatformManagementFlags interacts with other variables and structures in the EOS SDK setup process. It’s used as part of the PlatformOptions structure when calling EOS_IntegratedPlatformOptionsContainer_AddOptions.
Developers must be aware that this variable directly affects how the EOS SDK manages integrated platforms. Incorrect configuration could lead to issues with platform integration or unexpected behavior in cross-platform scenarios.
Best practices when using this variable include:
- Carefully reviewing the EOS documentation to understand each flag’s purpose and implications.
- Only enabling the flags necessary for your project’s requirements to avoid potential conflicts or unnecessary overhead.
- Ensuring that the configuration in the INI file is correctly set up and maintained across different build configurations and platforms.
- Regularly updating the flags as needed when upgrading the EOS SDK version, as new flags may be introduced or existing ones deprecated.
- Testing thoroughly after making changes to these flags, especially in multi-platform environments.
#Setting Variables
#References In INI files
Location: <Workspace>/Projects/Lyra/Config/Custom/SteamEOS/DefaultEngine.ini:85, section: [EOSSDK]
- INI Section:
EOSSDK
- Raw value:
LibraryManagedByApplication
- Is Array:
True
Location: <Workspace>/Projects/Lyra/Config/Custom/SteamEOS/DefaultEngine.ini:86, section: [EOSSDK]
- INI Section:
EOSSDK
- Raw value:
DisableSDKManagedSessions
- Is Array:
True
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Online/EOSShared/Source/EOSShared/Private/EOSSDKManager.cpp:473
Scope (from outer to inner):
file
function void FEOSSDKManager::ApplyIntegratedPlatformOptions
Source code excerpt:
UE_EOS_CHECK_API_MISMATCH(EOS_INTEGRATEDPLATFORM_OPTIONS_API_LATEST, 1);
PlatformOptions.Type = GetIntegratedPlatformType();
PlatformOptions.Flags = IntegratedPlatformManagementFlags;
PlatformOptions.InitOptions = GetIntegratedPlatformOptions();
EOS_IntegratedPlatformOptionsContainer_AddOptions AddOptions = {};
AddOptions.ApiVersion = 1;
UE_EOS_CHECK_API_MISMATCH(EOS_INTEGRATEDPLATFORMOPTIONSCONTAINER_ADD_API_LATEST, 1);
AddOptions.Options = &PlatformOptions;
#Loc: <Workspace>/Engine/Plugins/Online/EOSShared/Source/EOSShared/Private/EOSSDKManager.cpp:714
Scope (from outer to inner):
file
function void FEOSSDKManager::LoadConfig
Source code excerpt:
TArray<FString> ManagementFlags;
if (GConfig->GetArray(SectionName, TEXT("IntegratedPlatformManagementFlags"), ManagementFlags, GEngineIni))
{
IntegratedPlatformManagementFlags = {};
for (const FString& ManagementFlagStr : ManagementFlags)
{
EOS_EIntegratedPlatformManagementFlags NewManagementFlag = {};
if (!LexFromString(NewManagementFlag, *ManagementFlagStr))
{
UE_LOG(LogEOSSDK, Verbose, TEXT("[%hs] Unable to parse a valid EOS_EIntegratedPlatformManagementFlags value from string: %s"), __FUNCTION__, *ManagementFlagStr);
}
IntegratedPlatformManagementFlags |= NewManagementFlag;
}
}
SetupTicker();
}
#Loc: <Workspace>/Engine/Plugins/Online/EOSShared/Source/EOSShared/Private/EOSSDKManager.h:152
Scope (from outer to inner):
file
class class FEOSSDKManager : public IEOSSDKManager, public FSelfRegisteringExec
Source code excerpt:
/** Management flags passed on as options in integrated platform setup */
EOS_EIntegratedPlatformManagementFlags IntegratedPlatformManagementFlags = {};
};
struct FEOSPlatformHandle : public IEOSPlatformHandle
{
FEOSPlatformHandle(FEOSSDKManager& InManager, EOS_HPlatform InPlatformHandle)
: IEOSPlatformHandle(InPlatformHandle), Manager(InManager)