Docs

Format Template

Formatting presets and details about tokens and replacements.

The version format template is a string you define with tokens that Version Forge replaces with real values. You can either choose a preset or write your own.

Presets

Choosing a preset will fill in the Format Template and Date Format fields. Choose the Custom preset to write your own.

PresetFormat TemplateDate Format
SemVer{major}.{minor}.{patch}{prerelease}+{platform}.{config}.{date}.{build}%Y%m%d
1.5.7-beta+Windows.Shipping.20261123.418
SemVer (No Build Data){major}.{minor}.{patch}{prerelease}+{platform}.{config}
1.5.7-beta+Windows.Shipping
CalVer Year{date}.{patch}{prerelease}+{platform}.{config}.{build}%Y
2026.7-beta+Windows.Shipping.418
CalVer Year Month{date}.{patch}{prerelease}+{platform}.{config}.{build}%Y.%m
2026.11.7-beta+Windows.Shipping.418
CalVer Year Month Day{date}{prerelease}+{platform}.{config}.{build}%Y.%m.%d
2026.11.23-beta+Windows.Shipping.418
CalVer Compact{date}{prerelease}+{platform}.{config}.{build}%Y%m%d
20261123-beta+Windows.Shipping.418
Sequential{build}{prerelease}+{platform}.{config}.{date}%Y%m%d
418-beta+Windows.Shipping.20261123

Examples are using Project Version 1.5.7, Build Number 418, Pre-release tag beta, and the default Patch Source.

  • Build and platform details follow a literal + in accordance with Semantic Versioning metadata specifications.
  • SemVer (No Build Data) leaves out the build number, changelist, and date. It suits any project that does not want build data in its version.
  • When Patch Source is set to Build Number, the patch value already contains the build number, so SemVer, CalVer Year, and CalVer Year Month presets then drop the {build} token.

Tokens

TokenReplaced withExample
{major}The first part of Project Version.1
{minor}The second part of Project Version.5
{patch}The resolved patch value. See Patch source.7
{projectpatch}The third part of Project Version.7
{build}The captured build number.418
{cl}The captured changelist number or hash.98765 or d83ab2b
{prerelease}The configured pre-release tag with a leading -.-beta
{platform}The packaged game's platform.Windows
{config}The packaged game's configuration.Shipping
{date}The captured build date, formatted by Date Format.20261123

Date format

Date Format sets what the {date} token is replaced with. It uses Unreal's FDateTime::ToString patterns. The default is %Y%m%d.

FormatOutputsExample
%Y4-digit year2026
%y2-digit year26
%m2-digit month01-12
%d2-digit day of month01-31
%D3-digit day of year001-366
%HHour, 24-hour clock00-23
%hHour, 12-hour clock01-12
%aLowercase am/pmam or pm
%AUppercase AM/PMAM or PM
%MMinute00-59
%SSecond00-59
%sMillisecond000-999

Patch source

Patch Source sets what value {patch} resolves to.

Setting{patch} resolves toUse it when
Project Patch Version (default)The third segment of Project Version.You want to bump the patch number by hand.
Build NumberThe build number from the CI job.You don't want to manage the patch version and let CI builds drive it instead.
ChangelistThe source control changelist number.Same as above, but with the captured changelist value.

If the changelist value is not numeric, such as a git hash, Changelist falls back to Project Patch.

Long and short versions

The API and Widget allow getting and displaying long and short version strings.

VersionExample
Long VersionThe full version string with metadata.1.5.7-beta+Windows.Shipping.20261123.418
Short VersionThe version string without metadata.1.5.7-beta

On this page