LootLocker Unreal SDK 10.5.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
ULootLockerConfig Class Reference

#include <LootLockerConfig.h>

Inheritance diagram for ULootLockerConfig:
Collaboration diagram for ULootLockerConfig:

Public Member Functions

virtual void PostInitProperties () override
 

Static Public Member Functions

static bool IsSemverString (const FString &str)
 
static bool IsFileConfigActive ()
 Returns true when a pre-configured file config is active and governing settings.
 
static TOptional< FLootLockerFileConfigParseFileConfigContent (const FString &Content)
 Parses a pre-config file's raw content (plain JSON or encrypted) into an FLootLockerFileConfig.
 
static bool ShouldLog ()
 
static ELootLockerLogLevel GetConfiguredLogLevel ()
 
static void SetRuntimeLogLevel (ELootLockerLogLevel NewLevel)
 Sets the log level at runtime (not persisted).
 
static ELootLockerLogLevel GetRuntimeLogLevel ()
 Gets the current runtime log level (runtime override or config).
 
static void EnableFileLogging (const FString &FileName)
 Enables file logging to the specified file name.
 
static void DisableFileLogging ()
 Disables file logging.
 
static bool IsFileLoggingEnabled ()
 Returns true if file logging is enabled and a log file name is set.
 
static FString GetLogFilePath ()
 Returns the current log file path (may be empty if not enabled).
 
static bool IsPresenceEnabled ()
 Check if presence system is enabled globally.
 
static bool IsPresenceAutoConnectEnabled ()
 Check if auto-connect is enabled for presence.
 
static bool IsPresenceAutoDisconnectOnFocusChangeEnabled ()
 Check if auto-disconnect on focus change is enabled.
 
static bool IsPresenceEnabledInEditor ()
 Check if presence is enabled in the editor.
 

Data Fields

FLootLockerConfigurationUpdateDelegate OnConfigurationUpdated
 
FString OutdatedSDKWarning = "This version of LootLocker is no longer updated through fab because of fab guidelines. Please use GitHub releases to update: https://github.com/lootlocker/unreal-sdk/releases"
 
FString FileConfigActiveNotice = "Settings are governed by the pre-configured file config shipped with the plugin and cannot be changed from the editor."
 
FString LootLockerGameKey = ""
 API Key used to talk to LootLocker. The API key can be found in Settings > API Keys in the Web Console: https://console.lootlocker.com/settings/api-keys.
 
FString GameVersion = ""
 
FString InvalidGameVersionWarning = "Game version needs to follow a numeric Semantic Versioning pattern: X.Y.Z.B with the sections denoting MAJOR.MINOR.PATCH.BUILD and the last two being optional. Read more at https://docs.lootlocker.com/the-basics/core-concepts/glossary#game-version"
 
bool AllowTokenRefresh = true
 
FString DomainKey = ""
 Domain Key used to talk to LootLocker. The Domain key can be found in Settings > API Keys in the Web Console: https://console.lootlocker.com/settings/api-keys.
 
bool bUseLegacyHTTPStack = false
 When true, HTTP requests are routed through the legacy ULootLockerHttpClient stack instead of the new FLootLockerHTTPExecutionQueue.
 
bool LogOutsideOfEditor = false
 Allow LootLocker to log non error logs outside the editor. This is false by default to avoid log spamming and unintentional logging of data (as LootLocker logs requests and responses vs LootLocker).
 
ELootLockerLogLevel LootLockerLogLevel = ELootLockerLogLevel::Warning
 
bool bEnableFileLogging = false
 
FString LogFileName = TEXT("LootLockerLog")
 
FString LongLogFilePath = ""
 
bool bEnablePresence = false
 Enable or disable the entire Presence system globally.
 
bool bEnablePresenceAutoConnect = true
 Whether to automatically connect presence when sessions are established.
 
bool bEnablePresenceAutoDisconnectOnFocusChange = true
 Whether to automatically disconnect presence when the application loses focus or goes to background.
 
bool bEnablePresenceInEditor = true
 Enable presence features in the editor (for testing purposes)
 
ELootLockerMultiUserSessionMode MultiUserSessionMode = ELootLockerMultiUserSessionMode::NotSet
 Controls how the SDK handles multiple player sessions when a new authentication succeeds.
 

Static Public Attributes

static const FString PreConfigFileName
 Filename of the pre-config file that the SDK looks for in the plugin's Config directory.
 

Member Function Documentation

◆ DisableFileLogging()

static void ULootLockerConfig::DisableFileLogging ( )
static

Disables file logging.

◆ EnableFileLogging()

static void ULootLockerConfig::EnableFileLogging ( const FString &  FileName)
static

Enables file logging to the specified file name.

Parameters
FileNameThe log file name (relative to project log dir).

◆ GetConfiguredLogLevel()

static ELootLockerLogLevel ULootLockerConfig::GetConfiguredLogLevel ( )
inlinestatic

◆ GetLogFilePath()

static FString ULootLockerConfig::GetLogFilePath ( )
static

Returns the current log file path (may be empty if not enabled).

◆ GetRuntimeLogLevel()

static ELootLockerLogLevel ULootLockerConfig::GetRuntimeLogLevel ( )
static

Gets the current runtime log level (runtime override or config).

◆ IsFileConfigActive()

static bool ULootLockerConfig::IsFileConfigActive ( )
static

Returns true when a pre-configured file config is active and governing settings.

When true, the Project Settings panel is locked to prevent drift from the file config.

◆ IsFileLoggingEnabled()

static bool ULootLockerConfig::IsFileLoggingEnabled ( )
static

Returns true if file logging is enabled and a log file name is set.

◆ IsPresenceAutoConnectEnabled()

static bool ULootLockerConfig::IsPresenceAutoConnectEnabled ( )
static

Check if auto-connect is enabled for presence.

◆ IsPresenceAutoDisconnectOnFocusChangeEnabled()

static bool ULootLockerConfig::IsPresenceAutoDisconnectOnFocusChangeEnabled ( )
static

Check if auto-disconnect on focus change is enabled.

◆ IsPresenceEnabled()

static bool ULootLockerConfig::IsPresenceEnabled ( )
static

Check if presence system is enabled globally.

◆ IsPresenceEnabledInEditor()

static bool ULootLockerConfig::IsPresenceEnabledInEditor ( )
static

Check if presence is enabled in the editor.

◆ IsSemverString()

static bool ULootLockerConfig::IsSemverString ( const FString &  str)
inlinestatic

◆ ParseFileConfigContent()

static TOptional< FLootLockerFileConfig > ULootLockerConfig::ParseFileConfigContent ( const FString &  Content)
static

Parses a pre-config file's raw content (plain JSON or encrypted) into an FLootLockerFileConfig.

Returns an empty TOptional when content is invalid or api_key is missing/empty. Exposed publicly so unit tests can call it without needing a real plugin on disk.

◆ PostInitProperties()

virtual void ULootLockerConfig::PostInitProperties ( )
inlineoverridevirtual

◆ SetRuntimeLogLevel()

static void ULootLockerConfig::SetRuntimeLogLevel ( ELootLockerLogLevel  NewLevel)
static

Sets the log level at runtime (not persisted).

Parameters
NewLevelThe new log level to use for this session.

◆ ShouldLog()

static bool ULootLockerConfig::ShouldLog ( )
inlinestatic

Field Documentation

◆ AllowTokenRefresh

bool ULootLockerConfig::AllowTokenRefresh = true

◆ bEnableFileLogging

bool ULootLockerConfig::bEnableFileLogging = false

◆ bEnablePresence

bool ULootLockerConfig::bEnablePresence = false

Enable or disable the entire Presence system globally.

◆ bEnablePresenceAutoConnect

bool ULootLockerConfig::bEnablePresenceAutoConnect = true

Whether to automatically connect presence when sessions are established.

◆ bEnablePresenceAutoDisconnectOnFocusChange

bool ULootLockerConfig::bEnablePresenceAutoDisconnectOnFocusChange = true

Whether to automatically disconnect presence when the application loses focus or goes to background.

◆ bEnablePresenceInEditor

bool ULootLockerConfig::bEnablePresenceInEditor = true

Enable presence features in the editor (for testing purposes)

◆ bUseLegacyHTTPStack

bool ULootLockerConfig::bUseLegacyHTTPStack = false

When true, HTTP requests are routed through the legacy ULootLockerHttpClient stack instead of the new FLootLockerHTTPExecutionQueue.

Use this as a temporary escape hatch if you encounter issues with the new queue. This setting has no effect when the project is compiled with LOOTLOCKER_FORCE_LEGACY_HTTP_STACK=1 (which always uses the legacy stack regardless of this value). This option will be removed once the execution queue is declared stable.

◆ DomainKey

FString ULootLockerConfig::DomainKey = ""

Domain Key used to talk to LootLocker. The Domain key can be found in Settings > API Keys in the Web Console: https://console.lootlocker.com/settings/api-keys.

◆ FileConfigActiveNotice

FString ULootLockerConfig::FileConfigActiveNotice = "Settings are governed by the pre-configured file config shipped with the plugin and cannot be changed from the editor."

◆ GameVersion

FString ULootLockerConfig::GameVersion = ""

◆ InvalidGameVersionWarning

FString ULootLockerConfig::InvalidGameVersionWarning = "Game version needs to follow a numeric Semantic Versioning pattern: X.Y.Z.B with the sections denoting MAJOR.MINOR.PATCH.BUILD and the last two being optional. Read more at https://docs.lootlocker.com/the-basics/core-concepts/glossary#game-version"

◆ LogFileName

FString ULootLockerConfig::LogFileName = TEXT("LootLockerLog")

◆ LogOutsideOfEditor

bool ULootLockerConfig::LogOutsideOfEditor = false

Allow LootLocker to log non error logs outside the editor. This is false by default to avoid log spamming and unintentional logging of data (as LootLocker logs requests and responses vs LootLocker).

◆ LongLogFilePath

FString ULootLockerConfig::LongLogFilePath = ""

◆ LootLockerGameKey

FString ULootLockerConfig::LootLockerGameKey = ""

API Key used to talk to LootLocker. The API key can be found in Settings > API Keys in the Web Console: https://console.lootlocker.com/settings/api-keys.

◆ LootLockerLogLevel

ELootLockerLogLevel ULootLockerConfig::LootLockerLogLevel = ELootLockerLogLevel::Warning

◆ MultiUserSessionMode

Controls how the SDK handles multiple player sessions when a new authentication succeeds.

Hotseat: Multiple active sessions allowed. The first authenticated player is default; subsequent authentications are additive. Best for local multiplayer / couch co-op.

Single Session: Only one player session exists at a time. New authentications wipe all previous session data. Best for standard single-player games.

Profile Switching: Only one player active at a time, but historical players kept in cold cache. Each new authentication deactivates all others and becomes the sole active default. Best for games with account selection screens.

◆ OnConfigurationUpdated

FLootLockerConfigurationUpdateDelegate ULootLockerConfig::OnConfigurationUpdated

◆ OutdatedSDKWarning

FString ULootLockerConfig::OutdatedSDKWarning = "This version of LootLocker is no longer updated through fab because of fab guidelines. Please use GitHub releases to update: https://github.com/lootlocker/unreal-sdk/releases"

◆ PreConfigFileName

const FString ULootLockerConfig::PreConfigFileName
static

Filename of the pre-config file that the SDK looks for in the plugin's Config directory.

Default: "LootLockerPreConfig.bytes"