HttpChunkInstallDataVersion
HttpChunkInstallDataVersion
#Overview
name: HttpChunkInstallDataVersion
The value of this variable can be defined or overridden in .ini config files. 1
.ini config file referencing this setting variable.
It is referenced in 3
C++ source files. Also referenced in 1
C# build file meaning it may affect the build system logic.
#Summary
#Usage in the C++ source code
The purpose of HttpChunkInstallDataVersion is to specify the version identifier for HTTP chunk install data in Unreal Engine 5’s packaging system. This setting is used to manage and version content that can be downloaded and installed in chunks over HTTP, which is particularly useful for large games or applications that require incremental updates or downloadable content (DLC).
This setting variable is primarily used by the packaging and content delivery subsystems of Unreal Engine 5. Based on the callsites, it is part of the ProjectPackagingSettings class, which is likely part of the DeveloperToolSettings module. It’s also referenced in the TurnkeySupport module, specifically in the context of cooking and packaging content.
The value of this variable is set in the project’s configuration files and can be edited through the Unreal Editor’s Project Settings interface. It’s also automatically set to “release1” if left empty, as seen in the PostEditChangeProperty function of the ProjectPackagingSettings class.
HttpChunkInstallDataVersion interacts with other packaging-related variables, particularly HttpChunkInstallDataDirectory. These two variables work together to define where and how chunk install data is managed.
Developers must be aware that this variable is crucial for versioning HTTP chunk install data. It should be updated appropriately when making significant changes to the chunk install data to ensure proper version control and update management for end-users.
Best practices when using this variable include:
- Use a consistent versioning scheme (e.g., semantic versioning) to make it easy to track changes.
- Update the version when making significant changes to the chunk install data.
- Coordinate the version with your content delivery and update systems to ensure proper distribution of updates.
- Document the versioning scheme and update process for your development team to maintain consistency.
- Consider automating the version update process as part of your build pipeline to reduce manual errors.
#Setting Variables
#References In INI files
Location: <Workspace>/Projects/Lyra/Config/DefaultGame.ini:116, section: [/Script/UnrealEd.ProjectPackagingSettings]
- INI Section:
/Script/UnrealEd.ProjectPackagingSettings
- Raw value: ``
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/DeveloperToolSettings/Classes/Settings/ProjectPackagingSettings.h:412
Scope (from outer to inner):
file
class class UProjectPackagingSettings : public UObject
Source code excerpt:
*/
UPROPERTY(config, EditAnywhere, Category = Packaging)
FString HttpChunkInstallDataVersion;
/** Specifies whether to include an installer for prerequisites of packaged games, such as redistributable operating system components, on platforms that support it. */
UPROPERTY(config, EditAnywhere, Category=Prerequisites, meta=(DisplayName="Include prerequisites installer"))
bool IncludePrerequisites;
/** Specifies whether to include prerequisites alongside the game executable. */
#Loc: <Workspace>/Engine/Source/Developer/DeveloperToolSettings/Private/ProjectPackagingSettings.cpp:138
Scope (from outer to inner):
file
function void UProjectPackagingSettings::PostEditChangeProperty
Source code excerpt:
HttpChunkInstallDataDirectory.Path = CloudInstallDir;
}
if (HttpChunkInstallDataVersion.IsEmpty())
{
HttpChunkInstallDataVersion = TEXT("release1");
}
}
}
else if (Name == FName((TEXT("ApplocalPrerequisitesDirectory"))))
{
// If a variable is already in use, assume the user knows what they are doing and don't modify the path
#Loc: <Workspace>/Engine/Source/Editor/TurnkeySupport/Private/TurnkeySupportModule.cpp:479
Scope (from outer to inner):
file
class class FTurnkeySupportCallbacks
function static void CookOrPackage
Source code excerpt:
if (PackagingSettings->bBuildHttpChunkInstallData)
{
BuildCookRunParams += FString::Printf(TEXT(" -manifests -createchunkinstall -chunkinstalldirectory=\"%s\" -chunkinstallversion=%s"), *(PackagingSettings->HttpChunkInstallDataDirectory.Path), *(PackagingSettings->HttpChunkInstallDataVersion));
}
EProjectPackagingBuildConfigurations BuildConfig = PlatformsSettings->GetBuildConfigurationForPlatform(IniPlatformName);
// if PPBC_MAX is set, then the project default should be used instead of the per platform build config
if (BuildConfig == EProjectPackagingBuildConfigurations::PPBC_MAX)
{
#References in C# build files
This variable is referenced in the following C# build files:
Location: <Workspace>/Engine/Source/Programs/AutomationTool/Turnkey/Commands/CreateBuild.cs:336
string HttpChunkInstallDataDirectory = Config.GetStructEntryForSetting(SettingsSection, "HttpChunkInstallDataDirectory", "Path");
string HttpChunkInstallDataVersion;
Config.GetString(SettingsSection, "HttpChunkInstallDataVersion", out HttpChunkInstallDataVersion);
CommandLine += $" -manifests -createchunkinstall -chunkinstalldirectory=\"{HttpChunkInstallDataDirectory}\" -chunkinstallversion={HttpChunkInstallDataVersion}";
}
}
if (bStage || bPackage)