iOS and Android Sync
Sync version and store build numbers into the iOS and Android project settings.
iOS and Android settings have their own version fields in Project Settings, and they can drift out of sync with the Project Version. Version Forge can update them at build time if enabled. Each platform has two settings:
- A version setting, for the version displayed to users, such as
1.5.7. - A build number setting, for the number the App Store or Google Play requires to increase with every upload.
iOS
Version Info
The version shown to players (CFBundleShortVersionString).
| Option | Writes to VersionInfo |
|---|---|
| Engine Default (No sync) | Nothing. |
| Sync from Major.Minor.Patch 1 | 1.5.7 |
The config will be written to Config/DefaultEngine.ini:
[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
VersionInfo=1.5.7Bundle Version
The iOS build number (CFBundleVersion). See build number sources for options.
Unreal builds CFBundleVersion from the engine changelist and a counter file it increments with every build which is stored in Build/IOS/<ProjectFolder>.PackageVersionCounter. If enabled, Version Forge will overwrite the value in that counter file during compilation.
Android
Version Display Name
The version shown to players (versionName).
| Option | Writes to VersionDisplayName |
|---|---|
| Engine Default (No sync) | Nothing. |
| Sync from Major.Minor.Patch 1 | 1.5.7 |
| Sync from Short Version | The Short Version, such as 1.5.7, or 1.5.7-beta. |
The config will be written to Config/DefaultEngine.ini:
[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
VersionDisplayName=1.5.7Store Version
The Android build number (versionCode). See build number sources for options.
The config will be written to Config/DefaultEngine.ini:
[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
StoreVersion=418Build number sources
iOS Bundle Version and Android Store Version have the same options and can pull from the same sources:
| Option | Value used |
|---|---|
| Engine Default | None. Unreal default behavior. |
| Build Number | The captured CI build number. |
| Changelist | The captured changelist. It must be numeric. |
| Environment Variable | The value of the variable you configure. |
| Command Line Argument | The value of the argument you configure. |
Offset
The Offset field will allow you to set a numeric value that will be added to the build number after it's pulled from the source setting. It's useful if you need to ensure the value is above previously uploaded versions.
When the sync runs
If any setting is enabled (not Engine Default), a normal CI/CD build will run the sync behavior. However, the sync will not be run for:
- Local builds.
- Editor builds.
If you package your project outside of a CI/CD system and want it to run the platform sync, define a build number when packaging. See Local Builds and Command Line Arguments.
Source control
Since these settings write to files in the workspace when building, they may show up as modified in source control. Version Forge will not submit them, it's up to you to decide to discard the changes or commit them, either by hand or from your CI/CD configuration.
If you use a distributed build system where compilation and packaging can happen on different nodes, for example with a BuildGraph system, you will need to ensure these files get copied by your build system between the nodes.

