Docs

Network Version

Setting what version string gets compared when a client joins a server.

Unreal refuses a connection when the client and the server have different network versions. This keeps a player on an old build from connecting to a server running a new one.

By default, Unreal builds the network version from your Project Version plus its own protocol versions. Version Forge allows you to automatically change what's provided when building the Network Version instead.

Choosing a network version

Open Project Settings → Game → Version Forge → Network Version and set Network Version Source:

OptionThe network version isNotes
Engine DefaultThe Project Version setting.Unreal's default behavior.
Major.Minor.Patch{major}.{minor}.{patch}.With a Build or CL number as the patch source, every build has a new network version.
Short VersionThe Short Version string.As specified by your Format Template.
Full VersionThe Full Version string.Not recommended. See the warning below.
Custom TemplateYour own template defined in the Network Version Template setting.Uses the same tokens as the format template. The default is {major}.{minor}.{patch}.

Any template with {platform}, {config}, or {date}, either the Full Version string or a custom template, can be too selective and result in erroneous connection refusals.

For example

  • The {platform} value will not allow Windows clients to connect to Linux servers.
  • The {config} value will not allow Development clients to connect to Shipping servers.
  • The {date} value can be different between server and client targets if not provided a common timestamp.

The settings page and log will show warnings when any of these tokens are detected in the Network Version.

How it is applied

Version Forge resolves the network version at build time and embeds it in the build values packaged with the game. It is then applied at runtime at engine startup, right after the engine sets the network version to the default value, and before any connection can be made.

In the Output Log you will see the engine set it first, then Version Forge overwrite it:

LogNetVersion: Set ProjectVersion to 1.0.0. Version Checksum will be recalculated on next use.
LogNetVersion: Set ProjectVersion to 1.5.7. Version Checksum will be recalculated on next use.
LogVersionForge: Network version: 1.5.7

In the editor

By default, Editor builds will continue to use Unreal's default network version so that PIE multiplayer testing works without issues.

You can optionally enable the Apply in Editor setting. This can be useful if you want to connect a PIE session to a packaged server by providing it's exact network version as a custom value. The editor will need a restart after changing this setting.

On this page