TargetSettingsIniSectionName
TargetSettingsIniSectionName
#Overview
name: TargetSettingsIniSectionName
The value of this variable can be defined or overridden in .ini config files. 8
.ini config files referencing this setting variable.
It is referenced in 5
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of TargetSettingsIniSectionName is to specify the name of the INI section used to load target platform settings in Unreal Engine 5. This variable is primarily used for platform-specific configurations and settings.
This setting variable is relied upon by several Unreal Engine subsystems and modules, including:
- Core module (DataDrivenPlatformInfoRegistry)
- Engine module (AudioCompressionSettingsUtils)
- RenderCore module (RenderUtils)
The value of this variable is set in the DataDrivenPlatformInfoRegistry, specifically in the LoadDDPIIniSettings function. It is loaded from an INI file using the DDPIGetString function.
TargetSettingsIniSectionName interacts with other platform-specific variables and settings, such as bIsConfidential, bIsFakePlatform, and HardwareCompressionFormat. It is used to determine the appropriate INI section for loading platform-specific settings.
Developers must be aware that:
- This variable is crucial for platform-specific configurations.
- An empty TargetSettingsIniSectionName may indicate that the platform doesn’t support certain features (e.g., compression overrides).
- The value of this variable affects various subsystems, including audio compression and rendering.
Best practices when using this variable include:
- Ensure that the correct INI section name is set for each supported platform.
- Use this variable consistently when accessing platform-specific settings across different modules.
- Check if the variable is empty before attempting to load platform-specific settings to avoid errors.
- Keep the INI sections organized and up-to-date for all supported platforms to maintain proper functionality across the engine.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/Android/DataDrivenPlatformInfo.ini:3, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/AndroidRuntimeSettings.AndroidRuntimeSettings
- Is Array:
False
Location: <Workspace>/Engine/Config/IOS/DataDrivenPlatformInfo.ini:3, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/IOSRuntimeSettings.IOSRuntimeSettings
- Is Array:
False
Location: <Workspace>/Engine/Config/Linux/DataDrivenPlatformInfo.ini:3, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/LinuxTargetPlatform.LinuxTargetSettings
- Is Array:
False
Location: <Workspace>/Engine/Config/LinuxArm64/DataDrivenPlatformInfo.ini:3, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/LinuxTargetPlatform.LinuxTargetSettings
- Is Array:
False
Location: <Workspace>/Engine/Config/Mac/DataDrivenPlatformInfo.ini:3, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/MacTargetPlatform.MacTargetSettings
- Is Array:
False
Location: <Workspace>/Engine/Config/TVOS/DataDrivenPlatformInfo.ini:4, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/IOSRuntimeSettings.IOSRuntimeSettings
- Is Array:
False
Location: <Workspace>/Engine/Config/Windows/DataDrivenPlatformInfo.ini:5, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/WindowsTargetPlatform.WindowsTargetSettings
- Is Array:
False
Location: <Workspace>/Engine/Platforms/VisionOS/Config/DataDrivenPlatformInfo.ini:4, section: [DataDrivenPlatformInfo]
- INI Section:
DataDrivenPlatformInfo
- Raw value:
/Script/IOSRuntimeSettings.IOSRuntimeSettings
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Core/Private/Misc/DataDrivenPlatformInfoRegistry.cpp:338
Scope (from outer to inner):
file
function static void LoadDDPIIniSettings
Source code excerpt:
DDPIGetBool(IniFile, TEXT("bIsConfidential"), Info.bIsConfidential);
DDPIGetBool(IniFile, TEXT("bIsFakePlatform"), Info.bIsFakePlatform);
DDPIGetString(IniFile, TEXT("TargetSettingsIniSectionName"), Info.TargetSettingsIniSectionName);
DDPIGetString(IniFile, TEXT("HardwareCompressionFormat"), Info.HardwareCompressionFormat);
DDPIGetStringArray(IniFile, TEXT("AdditionalRestrictedFolders"), Info.AdditionalRestrictedFolders);
DDPIGetBool(IniFile, TEXT("Freezing_b32Bit"), Info.Freezing_b32Bit);
DDPIGetUInt(IniFile, Info.Freezing_b32Bit ? TEXT("Freezing_MaxFieldAlignment32") : TEXT("Freezing_MaxFieldAlignment64"), Info.Freezing_MaxFieldAlignment);
DDPIGetBool(IniFile, TEXT("Freezing_bForce64BitMemoryImagePointers"), Info.Freezing_bForce64BitMemoryImagePointers);
#Loc: <Workspace>/Engine/Source/Runtime/Core/Public/Misc/DataDrivenPlatformInfoRegistry.h:131
Scope: file
Source code excerpt:
// the name of the ini section to use to load target platform settings (used at runtime and cooktime)
FString TargetSettingsIniSectionName;
// list of additional restricted folders
TArray<FString> AdditionalRestrictedFolders;
// GUID to represent this platform forever
FGuid GlobalIdentifier;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/AudioCompressionSettingsUtils.cpp:89
Scope (from outer to inner):
file
function void CacheAudioCookOverrides
Source code excerpt:
// now use that platform name to get the ini section out of DDPI
const FDataDrivenPlatformInfo& PlatformInfo = FDataDrivenPlatformInfoRegistry::GetPlatformInfo(PlatformName);
const FString& CategoryName = PlatformInfo.TargetSettingsIniSectionName;
// if we don't support platform overrides, then return
if (CategoryName.Len() == 0)
{
OutOverrides = FPlatformAudioCookOverrides();
return;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/AudioCompressionSettingsUtils.cpp:241
Scope (from outer to inner):
file
function static bool PlatformSupportsCompressionOverrides
Source code excerpt:
static bool PlatformSupportsCompressionOverrides(const FString& PlatformName)
{
return FDataDrivenPlatformInfoRegistry::GetPlatformInfo(PlatformName).TargetSettingsIniSectionName.Len() > 0;
}
static inline FString GetCookOverridePlatformName(const TCHAR* PlatformName)
{
return PlatformName ? FString(PlatformName) : FString(FPlatformProperties::IniPlatformName());
}
#Loc: <Workspace>/Engine/Source/Runtime/RenderCore/Private/RenderUtils.cpp:848
Scope (from outer to inner):
file
function void RenderUtilsInit
Source code excerpt:
const FDataDrivenPlatformInfo& PlatformInfo = FDataDrivenPlatformInfoRegistry::GetPlatformInfo(PlatformName);
const FString CategoryName = PlatformInfo.TargetSettingsIniSectionName;
if (!CategoryName.IsEmpty())
{
FConfigFile PlatformIniFile;
if (FConfigCacheIni::LoadLocalIniFile(PlatformIniFile, TEXT("Engine"), /*bIsBaseIniName*/ true, *PlatformName))
{
bool bDistanceFields = false;