ManifestDependencies
ManifestDependencies
#Overview
name: ManifestDependencies
The value of this variable can be defined or overridden in .ini config files. 12
.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 ManifestDependencies is to specify additional manifest files that should be considered as dependencies when generating or processing localization data in Unreal Engine 5. It is primarily used in the localization and text gathering systems.
This setting variable is relied upon by several Unreal Engine subsystems and modules related to localization and text gathering, including:
- The Localization Configuration system
- GatherTextFromAssets commandlet
- GatherTextFromMetaData commandlet
- GatherTextFromSource commandlet
- GenerateGatherManifest commandlet
The value of this variable is typically set in configuration files or scripts used for localization tasks. It can be set multiple times to specify multiple manifest dependencies.
ManifestDependencies interacts with other localization-related variables and systems, such as localization targets, gather text configurations, and manifest generation processes.
Developers must be aware of the following when using this variable:
- The paths specified should be relative to the project or engine root, depending on the context.
- The manifest files referenced must have valid file extensions.
- It’s used in various commandlets, so changes may affect multiple localization processes.
Best practices when using this variable include:
- Ensure all specified manifest dependencies exist and are accessible.
- Use relative paths to maintain portability across different development environments.
- Only include necessary dependencies to avoid bloating the localization process.
- Regularly review and update the dependencies list to ensure it remains relevant and optimized.
- Be consistent in how you specify the paths across different configuration files and scripts.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/Localization/Category.ini:2, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Editor/Editor.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/Editor.ini:2, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Engine/Engine.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/EditorTutorials.ini:2, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Engine/Engine.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/EditorTutorials.ini:3, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Editor/Editor.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/EditorTutorials.ini:4, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Category/Category.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/EditorTutorials.ini:5, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Keywords/Keywords.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/EditorTutorials.ini:6, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/PropertyNames/PropertyNames.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/EditorTutorials.ini:7, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/ToolTips/ToolTips.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/PropertyNames.ini:2, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Editor/Editor.manifest
- Is Array:
False
Location: <Workspace>/Engine/Config/Localization/ToolTips.ini:2, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
Content/Localization/Engine/Engine.manifest
- Is Array:
False
Location: <Workspace>/Projects/Lyra/Config/Localization/Game_Gather.ini:4, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
../../../Engine/Content/Localization/Engine/Engine.manifest
- Is Array:
False
Location: <Workspace>/Projects/Lyra/Config/Localization/Game_Gather.ini:5, section: [CommonSettings]
- INI Section:
CommonSettings
- Raw value:
../../../Engine/Content/Localization/Editor/Editor.manifest
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/Localization/Private/LocalizationConfigurationScript.cpp:290
Scope (from outer to inner):
file
namespace LocalizationConfigurationScript
function FLocalizationConfigurationScript GenerateGatherTextConfigFile
Source code excerpt:
if (OtherTarget && Target != *OtherTarget)
{
ConfigSection.Add( TEXT("ManifestDependencies"), MakePathRelativeForCommandletProcess(GetManifestPath(*OtherTarget), !bIsEngineTarget) );
}
}
for (const FFilePath& Path : Target->Settings.AdditionalManifestDependencies)
{
ConfigSection.Add( TEXT("ManifestDependencies"), MakePathRelativeForCommandletProcess(Path.FilePath, !bIsEngineTarget) );
}
for (const FString& ModuleName : Target->Settings.RequiredModuleNames)
{
ConfigSection.Add( TEXT("ModulesToPreload"), ModuleName );
}
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Commandlets/GatherTextFromAssetsCommandlet.cpp:1545
Scope (from outer to inner):
file
function bool UGatherTextFromAssetsCommandlet::ConfigureFromScript
Source code excerpt:
GetStringArrayFromConfig(*SectionName, TEXT("ExcludeClasses"), ExcludeClassNames, GatherTextConfigPath);
GetPathArrayFromConfig(*SectionName, TEXT("ManifestDependencies"), ManifestDependenciesList, GatherTextConfigPath);
// Get whether we should gather editor-only data. Typically only useful for the localization of UE itself.
if (!GetBoolFromConfig(*SectionName, TEXT("ShouldGatherFromEditorOnlyData"), bShouldGatherFromEditorOnlyData, GatherTextConfigPath))
{
bShouldGatherFromEditorOnlyData = false;
}
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Commandlets/GatherTextFromMetadataCommandlet.cpp:271
Scope (from outer to inner):
file
function int32 UGatherTextFromMetaDataCommandlet::Main
Source code excerpt:
// Add any manifest dependencies if they were provided
TArray<FString> ManifestDependenciesList;
GetPathArrayFromConfig(*SectionName, TEXT("ManifestDependencies"), ManifestDependenciesList, GatherTextConfigPath);
for (const FString& ManifestDependency : ManifestDependenciesList)
{
FText OutError;
if (!GatherManifestHelper->AddDependency(ManifestDependency, &OutError))
{
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Commandlets/GatherTextFromSourceCommandlet.cpp:240
Scope (from outer to inner):
file
function int32 UGatherTextFromSourceCommandlet::Main
Source code excerpt:
// Add any manifest dependencies if they were provided
TArray<FString> ManifestDependenciesList;
GetPathArrayFromConfig(*SectionName, TEXT("ManifestDependencies"), ManifestDependenciesList, GatherTextConfigPath);
for (const FString& ManifestDependency : ManifestDependenciesList)
{
FText OutError;
if (!GatherManifestHelper->AddDependency(ManifestDependency, &OutError))
{
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Commandlets/GenerateGatherManifestCommandlet.cpp:142
Scope (from outer to inner):
file
function int32 UGenerateGatherManifestCommandlet::Main
Source code excerpt:
//Grab any manifest dependencies
TArray<FString> ManifestDependenciesList;
GetPathArrayFromConfig(*SectionName, TEXT("ManifestDependencies"), ManifestDependenciesList, GatherTextConfigPath);
// Check that all the dependent manifest files have valid file extensions
for (const FString& ManifestDependency : ManifestDependenciesList)
{
if (!GenerateManifestHelper::IsManifestFileExtensionValid(ManifestDependency))
{