DefaultProviderName
DefaultProviderName
#Overview
name: DefaultProviderName
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 6
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of DefaultProviderName is to specify the default provider for two separate systems within Unreal Engine 5: the advertising system and the streaming install system.
This setting variable is relied upon by multiple Unreal Engine subsystems:
- The Advertising module, which is part of the Runtime system.
- The platform-specific implementations of the chunk installation system, which is part of the Core module.
The value of this variable is set in the GEngineIni configuration file. It is read from two different sections:
- “[Advertising]” section for the advertising system
- “[StreamingInstall]” section for the chunk installation system
There are no direct interactions with other variables shown in the provided code snippets. However, the value of DefaultProviderName is used to load specific modules or retrieve providers.
Developers must be aware of the following when using this variable:
- It serves different purposes in different contexts (advertising and streaming install).
- The value should correspond to a valid module name that can be loaded by the engine.
- Different platforms (Android, iOS, Mac, Unix, Windows) use this variable for chunk installation.
Best practices when using this variable include:
- Ensure the specified provider name corresponds to an existing and compatible module.
- Be consistent in setting the value across different platform configurations if cross-platform compatibility is required.
- Document the chosen provider names and their purposes in the project documentation.
- When implementing custom providers, follow the naming conventions and module structure expected by the engine.
- Regularly review and update the provider name if newer or more suitable providers become available.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/Android/AndroidEngine.ini:39, section: [Advertising]
- INI Section:
Advertising
- Raw value:
AndroidAdvertising
- Is Array:
False
Location: <Workspace>/Engine/Config/IOS/BaseIOSEngine.ini:25, section: [Advertising]
- INI Section:
Advertising
- Raw value:
IOSAdvertising
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Advertising/Advertising/Public/Advertising.h:49
Scope (from outer to inner):
file
class class FAdvertising : public IModuleInterface
function static FName GetDefaultProviderName
Source code excerpt:
{
FString ProviderName;
GConfig->GetString( TEXT( "Advertising" ), TEXT( "DefaultProviderName" ), ProviderName, GEngineIni );
return FName( *ProviderName );
}
virtual IAdvertisingProvider* GetAdvertisingProvider( const FName& ProviderName );
virtual IAdvertisingProvider* GetDefaultProvider()
#Loc: <Workspace>/Engine/Source/Runtime/Core/Private/Android/AndroidPlatformMisc.cpp:1612
Scope (from outer to inner):
file
function class IPlatformChunkInstall* FAndroidMisc::GetPlatformChunkInstall
Source code excerpt:
{
FString InstallModule;
GConfig->GetString(TEXT("StreamingInstall"), TEXT("DefaultProviderName"), InstallModule, GEngineIni);
FModuleStatus Status;
if (FModuleManager::Get().QueryModule(*InstallModule, Status))
{
PlatformChunkInstallModule = FModuleManager::LoadModulePtr<IPlatformChunkInstallModule>(*InstallModule);
if (PlatformChunkInstallModule != nullptr)
{
#Loc: <Workspace>/Engine/Source/Runtime/Core/Private/IOS/IOSPlatformMisc.cpp:942
Scope: file
Source code excerpt:
{
FString InstallModule;
GConfig->GetString(TEXT("StreamingInstall"), TEXT("DefaultProviderName"), InstallModule, GEngineIni);
FModuleStatus Status;
if (FModuleManager::Get().QueryModule(*InstallModule, Status))
{
PlatformChunkInstallModule = FModuleManager::LoadModulePtr<IPlatformChunkInstallModule>(*InstallModule);
if (PlatformChunkInstallModule != nullptr)
{
#Loc: <Workspace>/Engine/Source/Runtime/Core/Private/Mac/MacPlatformMisc.cpp:3154
Scope (from outer to inner):
file
function IPlatformChunkInstall* FMacPlatformMisc::GetPlatformChunkInstall
Source code excerpt:
{
FString InstallModule;
GConfig->GetString(TEXT("StreamingInstall"), TEXT("DefaultProviderName"), InstallModule, GEngineIni);
FModuleStatus Status;
if (FModuleManager::Get().QueryModule(*InstallModule, Status))
{
PlatformChunkInstallModule = FModuleManager::LoadModulePtr<IPlatformChunkInstallModule>(*InstallModule);
if (PlatformChunkInstallModule != nullptr)
{
#Loc: <Workspace>/Engine/Source/Runtime/Core/Private/Unix/UnixPlatformMisc.cpp:1734
Scope (from outer to inner):
file
function IPlatformChunkInstall* FUnixPlatformMisc::GetPlatformChunkInstall
Source code excerpt:
{
FString InstallModule;
GConfig->GetString(TEXT("StreamingInstall"), TEXT("DefaultProviderName"), InstallModule, GEngineIni);
FModuleStatus Status;
if (FModuleManager::Get().QueryModule(*InstallModule, Status))
{
PlatformChunkInstallModule = FModuleManager::LoadModulePtr<IPlatformChunkInstallModule>(*InstallModule);
if (PlatformChunkInstallModule != nullptr)
{
#Loc: <Workspace>/Engine/Source/Runtime/Core/Private/Windows/WindowsPlatformMisc.cpp:4071
Scope (from outer to inner):
file
function IPlatformChunkInstall* FWindowsPlatformMisc::GetPlatformChunkInstall
Source code excerpt:
{
FString InstallModule;
GConfig->GetString(TEXT("StreamingInstall"), TEXT("DefaultProviderName"), InstallModule, GEngineIni);
if (!InstallModule.IsEmpty())
{
PlatformChunkInstallModule = FModuleManager::LoadModulePtr<IPlatformChunkInstallModule>(*InstallModule);
if (PlatformChunkInstallModule != nullptr)
{