There is no standard for version number, but you should do it in a way that makes sense to you and contains all the information you may need to track that build. I worked for a company that essentially broke it down like this:
[Major build number].[Minor build number].[Revision].[Package]
i.e. Version: 1.0.15.2
- Major build number: This indicates a major milestone in the game, increment this when going from beta to release, from release to major updates.
- Minor build number: Used for feature updates, large bug fixes etc.
- Revision: Minor alterations on existing features, small bug fixes, etc.
- Package: Your code stays the same, external library changes or asset file update.
Combined changes roll over to the most significant change. For example, if you're incrementing the minor build number, the revision and package both reset to 0.
Even though the categories are defined, there's still ambiguity for what kind of features actually cross over between a revision and a minor build number. It's up to you. If you make lists of the features that will need to be implemented before each increment, you'll also have a plan to follow, but in the end it's your decision as to what fits into each category.
/copy pasted from stack overflow/