EOSSDK

EOSSDK

#Overview

name: EOSSDK

This variable is created as a Console Variable (cvar).

It is referenced in 4 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of EOSSDK is to manage the integration and functionality of the Epic Online Services (EOS) Software Development Kit within the Unreal Engine environment. This setting variable is primarily used for configuration and runtime management of the EOS SDK.

The EOSSDK variable is relied upon by the EOSShared plugin, which is part of the Online subsystem in Unreal Engine. Specifically, it is used within the EOSSDKManager module.

The value of this variable is typically set in the engine’s configuration files, particularly in the GEngineIni file. It can be accessed and modified through the GConfig object.

This variable interacts with other configuration settings related to the EOS SDK, such as ‘bDllLoadFailureIsFatal’, which determines the behavior when the SDK fails to load.

Developers must be aware of the following when using this variable:

  1. It’s crucial for proper initialization and functioning of the EOS SDK within the engine.
  2. It affects error handling and logging related to the EOS SDK.
  3. It’s used in performance monitoring and profiling of EOS-related operations.

Best practices when using this variable include:

  1. Ensure proper configuration in the engine’s .ini files before runtime.
  2. Use it in conjunction with other EOS-related settings for a comprehensive setup.
  3. Monitor its usage in performance-critical sections, as it’s used in timing and profiling operations.
  4. When debugging EOS-related issues, check the configuration of this variable and related settings.
  5. Be cautious when modifying its behavior, as it can affect the entire EOS integration within the engine.

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

Scope (from outer to inner):

file
namespace    anonymous
function     static void* GetSdkDllHandle

Source code excerpt:

		{
			bool bDllLoadFailureIsFatal = false;
			GConfig->GetBool(TEXT("EOSSDK"), TEXT("bDllLoadFailureIsFatal"), bDllLoadFailureIsFatal, GEngineIni);
			if (bDllLoadFailureIsFatal)
			{
				FPlatformMisc::MessageBoxExt(
					EAppMsgType::Ok,
					*FText::Format(NSLOCTEXT("EOSShared", "DllLoadFail", "Failed to load {0}. Please verify your installation. Exiting..."), FText::FromString(TEXT(EOSSDK_RUNTIME_LIBRARY_NAME))).ToString(),
					TEXT("Error")

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

Scope (from outer to inner):

file
function     bool FEOSSDKManager::Tick

Source code excerpt:

			LLM_SCOPE(ELLMTag::RealTimeCommunications); // TODO should really be ELLMTag::EOSSDK
			QUICK_SCOPE_CYCLE_COUNTER(FEOSSDKManager_Tick);
			CSV_SCOPED_TIMING_STAT_EXCLUSIVE(EOSSDK);

			EOS_Platform_Tick(PlatformHandle);
		}
	}

	return true;

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

Scope (from outer to inner):

file
function     bool FEOSSDKManager::Exec_Runtime

Source code excerpt:

bool FEOSSDKManager::Exec_Runtime(class UWorld* InWorld, const TCHAR* Cmd, FOutputDevice& Ar)
{
	if (!FParse::Command(&Cmd, TEXT("EOSSDK")))
	{
		return false;
	}

	if (FParse::Command(&Cmd, TEXT("INFO")))
	{

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

Scope (from outer to inner):

file
function     void FEOSPlatformHandle::Tick

Source code excerpt:

	LLM_SCOPE(ELLMTag::RealTimeCommunications);
	QUICK_SCOPE_CYCLE_COUNTER(FEOSPlatformHandle_Tick);
	CSV_SCOPED_TIMING_STAT_EXCLUSIVE(EOSSDK);
	EOS_Platform_Tick(PlatformHandle);
}

FString FEOSPlatformHandle::GetConfigName() const
{
	return ConfigName;