StoreVersionOffsetArm64
StoreVersionOffsetArm64
#Overview
name: StoreVersionOffsetArm64
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 1
C++ source file. Also referenced in 3
C# build files meaning it may affect the build system logic.
#Summary
#Usage in the C# source code and build system
The purpose of StoreVersionOffsetArm64 is to provide an offset for the store version number specifically for ARM64 architecture builds of Android applications. This variable is used in the Android platform-specific build process and deployment system of Unreal Engine.
StoreVersionOffsetArm64 is primarily used by the Android subsystem of Unreal Engine, specifically in the build and deployment tools for Android platforms. It’s referenced in the AndroidPlatform.Automation.cs, UEDeployAndroid.cs, and VSCodeProjectFileGenerator.cs files, which are part of the Unreal Build Tool (UBT) and Automation Tool.
The value of this variable is set in the AndroidRuntimeSettings section of the project’s configuration files. It’s typically read from an INI file using the Ini.GetInt32 method.
StoreVersionOffsetArm64 interacts with other variables, notably:
- StoreVersion: The base store version number.
- StoreVersionOffsetX8664: A similar offset for x64 architecture.
Developers should be aware that:
- This variable affects the final store version number for ARM64 builds.
- It’s used to create unique version numbers for different architectures.
- It impacts the naming of symbol files for ARM64 builds.
Best practices when using this variable include:
- Ensure it’s properly set in the AndroidRuntimeSettings configuration.
- Coordinate its value with StoreVersion and StoreVersionOffsetX8664 to maintain consistent versioning across architectures.
- Consider the impact on app store submissions when modifying this value.
Regarding the associated variable StoreVersionOffsetX8664:
The purpose of StoreVersionOffsetX8664 is similar to StoreVersionOffsetArm64, but it applies to x64 architecture builds for Android. It allows for separate version offsetting for x64 builds.
This variable is also used by the Android subsystem of Unreal Engine, in the same files as StoreVersionOffsetArm64.
The value is set in the same AndroidRuntimeSettings section of the configuration files.
StoreVersionOffsetX8664 interacts with StoreVersion and StoreVersionOffsetArm64, allowing for distinct versioning across different architectures.
Developers should be aware that:
- This variable affects the final store version number for x64 builds.
- It’s used alongside StoreVersionOffsetArm64 to create unique version numbers for different architectures.
Best practices include:
- Ensure it’s properly set in the AndroidRuntimeSettings configuration.
- Coordinate its value with StoreVersion and StoreVersionOffsetArm64 for consistent versioning.
- Consider the impact on app store submissions when modifying this value.
Both variables are crucial for managing version numbers across different Android architectures in Unreal Engine projects.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:3056, section: [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
- INI Section:
/Script/AndroidRuntimeSettings.AndroidRuntimeSettings
- Raw value:
0
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Android/AndroidRuntimeSettings/Classes/AndroidRuntimeSettings.h:204
Scope (from outer to inner):
file
class class UAndroidRuntimeSettings : public UObject
Source code excerpt:
// Offset to add to store version for APKs generated for arm64
UPROPERTY(GlobalConfig, EditAnywhere, Category = "APK Packaging", meta = (DisplayName = "Store Version offset (arm64)"))
int32 StoreVersionOffsetArm64;
// Offset to add to store version for APKs generated for x86_64
UPROPERTY(GlobalConfig, EditAnywhere, Category = "APK Packaging", meta = (DisplayName = "Store Version offset (x86_64)"))
int32 StoreVersionOffsetX8664;
// The visual application name displayed for end users
#References in C# build files
This variable is referenced in the following C# build files:
Location: <Workspace>/Engine/Source/Programs/AutomationTool/Android/AndroidPlatform.Automation.cs:3707
if (ApkName.Contains("-arm64-"))
{
Ini.GetInt32("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "StoreVersionOffsetArm64", out StoreVersionOffset);
}
else if (ApkName.Contains("-x64-"))
{
Ini.GetInt32("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "StoreVersionOffsetX8664", out StoreVersionOffset);
}
StoreVersion += StoreVersionOffset;
Location: <Workspace>/Engine/Source/Programs/UnrealBuildTool/Platform/Android/UEDeployAndroid.cs:979
CachedStoreVersion = StoreVersion;
Ini.GetInt32("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "StoreVersionOffsetArm64", out CachedStoreVersionOffsetArm64);
Ini.GetInt32("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "StoreVersionOffsetX8664", out CachedStoreVersionOffsetX8664);
}
if (Architecture == UnrealArch.Arm64)
{
return CachedStoreVersion + CachedStoreVersionOffsetArm64;
Location: <Workspace>/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudioCode/VSCodeProjectFileGenerator.cs:1196
int StoreVersionOffsetArm64 = 0;
Ini.GetInt32("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "StoreVersion", out StoreVersion);
Ini.GetInt32("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "StoreVersionOffsetArm64", out StoreVersionOffsetArm64);
StoreVersionArm64 = StoreVersion + StoreVersionOffsetArm64;
DirectoryReference SymbolPathArm64 = DirectoryReference.Combine(
BuildProduct.OutputFile.Directory,
Target.Name + "_Symbols_v" + StoreVersionArm64.ToString(),
Target.Name + "-arm64");