bDisableOverlay

bDisableOverlay

#Overview

name: bDisableOverlay

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

It is referenced in 4 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bDisableOverlay is to control the activation of the Epic Online Services (EOS) overlay feature in an Unreal Engine game or application.

This setting variable is primarily used by the EOS SDK Manager, which is part of the EOSShared plugin in Unreal Engine. The EOSShared plugin is responsible for integrating Epic Online Services functionality into Unreal Engine projects.

The value of this variable is typically set in the engine configuration file (GEngineIni). It can be loaded from the configuration using the GConfig system, as seen in the provided code snippet.

bDisableOverlay interacts with several other variables, including:

These variables collectively control various aspects of the EOS overlay functionality.

Developers must be aware that:

  1. This variable is automatically set to true for servers and editors, disabling the overlay in those environments.
  2. When set to true, it adds the EOS_PF_DISABLE_OVERLAY flag to the platform options when creating an EOS platform instance.

Best practices when using this variable include:

  1. Carefully consider the implications of disabling the overlay, as it may affect user experience and certain EOS features.
  2. Ensure consistency between this setting and related overlay settings to avoid conflicts.
  3. Test the application thoroughly with different overlay configurations to ensure proper functionality in all scenarios.
  4. Use this setting in conjunction with the other overlay-related settings to fine-tune the EOS integration for your specific project needs.

#Setting Variables

#References In INI files

Location: <Workspace>/Projects/Lyra/Config/Custom/SteamEOS/DefaultEngine.ini:93, section: [EOSSDK.Platform.Lyra]

#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:356

Scope (from outer to inner):

file
function     const FEOSSDKPlatformConfig* FEOSSDKManager::GetPlatformConfig

Source code excerpt:

		{
			// Don't attempt to load overlay for servers or editors.
			PlatformConfig->bDisableOverlay = true;
			PlatformConfig->bDisableSocialOverlay = true;
		}
		else
		{
			// Overlay is on by default, enable additional overlay options.
			PlatformConfig->bWindowsEnableOverlayD3D9 = true;

#Loc: <Workspace>/Engine/Plugins/Online/EOSShared/Source/EOSShared/Private/EOSSDKManager.cpp:370

Scope (from outer to inner):

file
function     const FEOSSDKPlatformConfig* FEOSSDKManager::GetPlatformConfig

Source code excerpt:

	GConfig->GetBool(*SectionName, TEXT("bIsServer"), PlatformConfig->bIsServer, GEngineIni);
	GConfig->GetBool(*SectionName, TEXT("bLoadingInEditor"), PlatformConfig->bLoadingInEditor, GEngineIni);
	GConfig->GetBool(*SectionName, TEXT("bDisableOverlay"), PlatformConfig->bDisableOverlay, GEngineIni);
	GConfig->GetBool(*SectionName, TEXT("bDisableSocialOverlay"), PlatformConfig->bDisableSocialOverlay, GEngineIni);
	GConfig->GetBool(*SectionName, TEXT("bWindowsEnableOverlayD3D9"), PlatformConfig->bWindowsEnableOverlayD3D9, GEngineIni);
	GConfig->GetBool(*SectionName, TEXT("bWindowsEnableOverlayD3D10"), PlatformConfig->bWindowsEnableOverlayD3D10, GEngineIni);
	GConfig->GetBool(*SectionName, TEXT("bWindowsEnableOverlayOpenGL"), PlatformConfig->bWindowsEnableOverlayOpenGL, GEngineIni);
	GConfig->GetBool(*SectionName, TEXT("bEnableRTC"), PlatformConfig->bEnableRTC, GEngineIni);
	GConfig->GetInt(*SectionName, TEXT("TickBudgetInMilliseconds"), PlatformConfig->TickBudgetInMilliseconds, GEngineIni);

#Loc: <Workspace>/Engine/Plugins/Online/EOSShared/Source/EOSShared/Private/EOSSDKManager.cpp:572

Scope (from outer to inner):

file
function     IEOSPlatformHandlePtr FEOSSDKManager::CreatePlatform

Source code excerpt:

	PlatformOptions.Flags = 0;
	if (PlatformConfig->bLoadingInEditor) PlatformOptions.Flags |= EOS_PF_LOADING_IN_EDITOR;
	if (PlatformConfig->bDisableOverlay) PlatformOptions.Flags |= EOS_PF_DISABLE_OVERLAY;
	if (PlatformConfig->bDisableSocialOverlay) PlatformOptions.Flags |= EOS_PF_DISABLE_SOCIAL_OVERLAY;

	if (FPlatformMisc::IsCacheStorageAvailable())
	{
		PlatformOptions.CacheDirectory = Utf8CacheDirectory.Length() ? Utf8CacheDirectory.Get() : nullptr;
	}

#Loc: <Workspace>/Engine/Plugins/Online/EOSShared/Source/EOSShared/Public/IEOSSDKManager.h:28

Scope: file

Source code excerpt:

	bool bIsServer = false;
	bool bLoadingInEditor = false;
	bool bDisableOverlay = false;
	bool bDisableSocialOverlay = false;
	bool bWindowsEnableOverlayD3D9 = false;
	bool bWindowsEnableOverlayD3D10 = false;
	bool bWindowsEnableOverlayOpenGL = false;
	bool bEnableRTC = true;
	int32 TickBudgetInMilliseconds = 1;