EngineTargetsSettings
EngineTargetsSettings
#Overview
name: EngineTargetsSettings
The value of this variable can be defined or overridden in .ini config files. 21
.ini config files referencing this setting variable.
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of EngineTargetsSettings is to store and manage localization target settings for the Unreal Engine itself. This variable is part of the localization system in Unreal Engine 5, which is responsible for handling the translation and adaptation of the engine’s text content into different languages.
The Unreal Engine subsystem that relies on this setting variable is the Localization module, as evident from the file paths in the Callsites section (e.g., “Engine/Source/Developer/Localization/Private/LocalizationSettings.cpp”).
The value of this variable is set in the configuration files and can be modified through the Unreal Engine Editor’s Project Settings. It is defined as a config property in the ULocalizationSettings class.
EngineTargetsSettings interacts with several other variables and objects:
- EngineTargetSet: An object that stores the actual ULocalizationTarget objects created from the EngineTargetsSettings.
- GameTargetsSettings: A similar array for game-specific localization targets.
- GameTargetSet: An object that stores the ULocalizationTarget objects for the game.
Developers must be aware of the following when using this variable:
- Changes to EngineTargetsSettings will affect the engine-wide localization settings, not game-specific settings.
- The variable is used to create and update ULocalizationTarget objects, which are the actual objects used in the localization process.
- Modifying this variable will trigger updates to the related ULocalizationTarget objects.
Best practices when using this variable include:
- Avoid direct manipulation of EngineTargetsSettings; instead, use the provided Unreal Engine localization tools and interfaces.
- Ensure that any changes made to EngineTargetsSettings are intentional and necessary, as they affect the entire engine’s localization.
- When adding or modifying localization targets, consider the impact on existing translations and the overall localization workflow.
- Regularly update and synchronize the EngineTargetsSettings with the actual ULocalizationTarget objects to maintain consistency in the localization system.
#Setting Variables
#References In INI files
<Workspace>/Engine/Config/BaseEditor.ini:513, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Engine/Config/BaseEditor.ini:514, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Engine/Config/BaseEditor.ini:515, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Engine/Config/BaseEditor.ini:516, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Engine/Config/BaseEditor.ini:517, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Engine/Config/BaseEditor.ini:518, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Engine/Config/BaseEditor.ini:519, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:52, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:53, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:54, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:55, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:56, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:57, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:58, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:59, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:60, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:61, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:62, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:63, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:64, section: [/Script/Localization.LocalizationSettings]
<Workspace>/Projects/Lyra/Config/DefaultEditor.ini:65, section: [/Script/Localization.LocalizationSettings]
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/Localization/Private/LocalizationSettings.cpp:22
Scope (from outer to inner):
file
function void ULocalizationSettings::PostInitProperties
Source code excerpt:
if (EngineTargetSet)
{
EngineTargetSet->TargetObjects.Empty(EngineTargetsSettings.Num());
for (const auto& TargetSettings : EngineTargetsSettings)
{
ULocalizationTarget* const TargetObject = NewObject<ULocalizationTarget>(EngineTargetSet);
TargetObject->Settings = TargetSettings;
TargetObject->UpdateStatusFromConflictReport();
TargetObject->UpdateWordCountsFromCSV();
EngineTargetSet->TargetObjects.Add(TargetObject);
#Loc: <Workspace>/Engine/Source/Developer/Localization/Private/LocalizationSettings.cpp:36
Scope (from outer to inner):
file
function void ULocalizationSettings::PostInitProperties
Source code excerpt:
if (GameTargetSet)
{
GameTargetSet->TargetObjects.Empty(EngineTargetsSettings.Num());
for (const auto& TargetSettings : GameTargetsSettings)
{
ULocalizationTarget* const TargetObject = NewObject<ULocalizationTarget>(GameTargetSet);
TargetObject->Settings = TargetSettings;
TargetObject->UpdateStatusFromConflictReport();
TargetObject->UpdateWordCountsFromCSV();
#Loc: <Workspace>/Engine/Source/Developer/Localization/Private/LocalizationSettings.cpp:55
Scope (from outer to inner):
file
function void ULocalizationSettings::PostEditChangeProperty
Source code excerpt:
if (EngineTargetSet)
{
EngineTargetsSettings.Empty(EngineTargetSet->TargetObjects.Num());
for (const auto& TargetObject : EngineTargetSet->TargetObjects)
{
EngineTargetsSettings.Add(TargetObject ? TargetObject->Settings : FLocalizationTargetSettings());
}
}
// Copy settings back.
if (GameTargetSet)
{
#Loc: <Workspace>/Engine/Source/Developer/Localization/Public/LocalizationSettings.h:30
Scope (from outer to inner):
file
class class ULocalizationSettings : public UObject
Source code excerpt:
UPROPERTY(config)
TArray<FLocalizationTargetSettings> EngineTargetsSettings;
UPROPERTY()
TObjectPtr<ULocalizationTargetSet> GameTargetSet;
UPROPERTY(config)
TArray<FLocalizationTargetSettings> GameTargetsSettings;