This package handles app versioning.
App version composes from git tag, number of commits since the tag, commit hash (optionally) and branch name (optionally).
Composed version is written to 2 places: PlayerSettings.bundleVersion
field and to AppVersionHolder asset
Name | Value |
---|---|
Git tag | v1.3 |
Number of commits since the tag | 5 |
Commit hash | f540d3 |
Branch name | MyFeatureBranch |
Results matrix
Development build | Production build | |
---|---|---|
iOS | 1.3.51 | 1.3.51 |
Android | 1.3.5-f540d3-MyFeatureBranch | 1.3.5-f540d3 |
MacOS | 1.3.5-f540d3-MyFeatureBranch | 1.3.5-f540d3 |
Windows | 1.3.5-f540d3-MyFeatureBranch | 1.3.5-f540d3 |
- Repository has at least one tag
- Git tag must be 'vX.X', where X - is a positive number (eg. v1.2)
Some platforms might not support any kind of version string (for example iOS).
Often, they use semantic versioning with strict restriction to have {major.minor.patch}
view.
In this case in your implementation you can use AppVersionHolder
scriptable object located in Assets/Resources
.
It contains several properties:
- AppVersion — data structure that contains all values required to build app version string
- [editor only] BuildPreprocessorOder — specifies order in which app version will be composed during build preprocessing stage
So, in order to get full app version at Runtime in semver-only platforms, reference AppVersionHolder
asset and use AppVersion
property
Footnotes
-
iOS (ipadOS etc) supports only semantic versioning (semver). To get full app version check usage of AppVersionHolder asset ↩ ↩2