bEnableOverlay
bEnableOverlay
#Overview
name: bEnableOverlay
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 8
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of bEnableOverlay is to control the enablement of the Epic Online Services (EOS) overlay feature in an Unreal Engine game. This overlay provides various online services and features to players.
The OnlineSubsystemEOS plugin relies on this setting variable. This plugin is part of the online subsystem in Unreal Engine, specifically tailored for integration with Epic Online Services.
The value of this variable is set in multiple places:
- It’s initialized to false in the FEOSSettings constructor.
- It can be loaded from the game’s configuration file (GEngineIni) using GConfig->GetBool().
- It can be set through the Unreal Engine editor interface, as it’s exposed as an UPROPERTY with EditAnywhere attribute.
This variable interacts with other related variables:
- bEnableSocialOverlay: Enabling this will automatically enable bEnableOverlay.
- bEnableEditorOverlay: This is related to overlay functionality in the editor.
Developers should be aware of the following:
- Disabling bEnableOverlay will automatically disable bEnableSocialOverlay and bEnableEditorOverlay.
- The value of this variable affects the initialization of the EOS platform, specifically setting the EOS_PF_DISABLE_OVERLAY flag.
Best practices when using this variable:
- Consider the implications on other overlay-related settings when changing this value.
- Ensure consistency between runtime settings and those in the configuration files.
- Be mindful of how this setting affects the user experience, as it controls a significant feature of the online services.
- Test the game thoroughly with both enabled and disabled states to ensure proper functionality in all scenarios.
#Setting Variables
#References In INI files
Location: <Workspace>/Projects/Lyra/Config/Custom/EOS/DefaultEngine.ini:22, section: [/Script/OnlineSubsystemEOS.EOSSettings]
- INI Section:
/Script/OnlineSubsystemEOS.EOSSettings
- Raw value:
True
- Is Array:
False
Location: <Workspace>/Projects/Lyra/Config/Custom/SteamEOS/DefaultEngine.ini:27, section: [/Script/OnlineSubsystemEOS.EOSSettings]
- INI Section:
/Script/OnlineSubsystemEOS.EOSSettings
- Raw value:
True
- Is Array:
False
#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:134
Scope (from outer to inner):
file
function FEOSSettings::FEOSSettings
Source code excerpt:
, TickBudgetInMilliseconds(0)
, TitleStorageReadChunkLength(0)
, bEnableOverlay(false)
, bEnableSocialOverlay(false)
, bEnableEditorOverlay(false)
, bPreferPersistentAuth(false)
, bUseEAS(false)
, bUseEOSConnect(false)
, bUseEOSSessions(false)
#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:183
Scope (from outer to inner):
file
function const FEOSSettings& UEOSSettings::ManualGetSettings
Source code excerpt:
GConfig->GetInt(INI_SECTION, TEXT("TickBudgetInMilliseconds"), CachedSettings->TickBudgetInMilliseconds, GEngineIni);
GConfig->GetInt(INI_SECTION, TEXT("TitleStorageReadChunkLength"), CachedSettings->TitleStorageReadChunkLength, GEngineIni);
GConfig->GetBool(INI_SECTION, TEXT("bEnableOverlay"), CachedSettings->bEnableOverlay, GEngineIni);
GConfig->GetBool(INI_SECTION, TEXT("bEnableSocialOverlay"), CachedSettings->bEnableSocialOverlay, GEngineIni);
GConfig->GetBool(INI_SECTION, TEXT("bEnableEditorOverlay"), CachedSettings->bEnableEditorOverlay, GEngineIni);
GConfig->GetBool(INI_SECTION, TEXT("bPreferPersistentAuth"), CachedSettings->bPreferPersistentAuth, GEngineIni);
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);
#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:215
Scope (from outer to inner):
file
function FEOSSettings UEOSSettings::ToNative
Source code excerpt:
Native.TickBudgetInMilliseconds = TickBudgetInMilliseconds;
Native.TitleStorageReadChunkLength = TitleStorageReadChunkLength;
Native.bEnableOverlay = bEnableOverlay;
Native.bEnableSocialOverlay = bEnableSocialOverlay;
Native.bEnableEditorOverlay = bEnableEditorOverlay;
Native.bPreferPersistentAuth = bPreferPersistentAuth;
Native.bUseEAS = bUseEAS;
Native.bUseEOSConnect = bUseEOSConnect;
Native.bUseEOSSessions = bUseEOSSessions;
#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:346
Scope (from outer to inner):
file
function void UEOSSettings::PostEditChangeProperty
Source code excerpt:
if (PropertyChangedEvent.Property->GetFName() == FName(TEXT("bEnableOverlay")))
{
if (!bEnableOverlay)
{
bEnableSocialOverlay = false;
bEnableEditorOverlay = false;
}
}
#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSSettings.cpp:358
Scope (from outer to inner):
file
function void UEOSSettings::PostEditChangeProperty
Source code excerpt:
if (bEnableSocialOverlay)
{
bEnableOverlay = true;
}
}
if (PropertyChangedEvent.MemberProperty != nullptr &&
PropertyChangedEvent.MemberProperty->GetFName() == FName(TEXT("Artifacts")) &&
(PropertyChangedEvent.ChangeType & EPropertyChangeType::ValueSet))
#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineSubsystemEOS.cpp:203
Scope (from outer to inner):
file
function bool FOnlineSubsystemEOS::PlatformCreate
Source code excerpt:
FEOSSettings EOSSettings = UEOSSettings::GetSettings();
uint64 OverlayFlags = 0;
if (!EOSSettings.bEnableOverlay)
{
OverlayFlags |= EOS_PF_DISABLE_OVERLAY;
}
if (!EOSSettings.bEnableSocialOverlay)
{
OverlayFlags |= EOS_PF_DISABLE_SOCIAL_OVERLAY;
#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSSettings.h:75
Scope: file
Source code excerpt:
int32 TickBudgetInMilliseconds;
int32 TitleStorageReadChunkLength;
bool bEnableOverlay;
bool bEnableSocialOverlay;
bool bEnableEditorOverlay;
bool bPreferPersistentAuth;
bool bUseEAS;
bool bUseEOSConnect;
bool bUseEOSSessions;
#Loc: <Workspace>/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSSettings.h:119
Scope (from outer to inner):
file
class class UEOSSettings : public URuntimeOptionsBase
Source code excerpt:
/** Set to true to enable the overlay (ecom features) */
UPROPERTY(Config, EditAnywhere, BlueprintReadOnly, Category="EOS Settings")
bool bEnableOverlay = false;
/** Set to true to enable the social overlay (friends, invites, etc.) */
UPROPERTY(Config, EditAnywhere, BlueprintReadOnly, Category="EOS Settings")
bool bEnableSocialOverlay = false;
/** Set to true to enable the overlay when running in the editor */