Choose where players get updates for your exported game, and keep them safe with signed updates.
Updates for Exported Games
A desktop game you export can update itself. You decide where it looks for new versions, and every update is signed so a player's copy only installs versions that really came from you.
Where you'll find it#
| What | Where |
|---|---|
| Update source and update address | Build → Export Game → Config → Build Profiles, on the Staging and Production profiles |
| Sign updates switch | The same place, just under the update address |
Set it up#
- Open Build → Export Game → Config and find the profile you export (usually Production).
- Under Updates, pick My own update feed or Off - no automatic updates.
- If you picked your own feed, type its address in Update URL. It must start with https. This is the folder where you will upload each release.
- Leave Sign updates ticked.
- Export the game. The first signed export creates your game's update key; the export log says where the private key file is.
- Upload the installer, the blockmap and the update file (latest.yml, or latest-mac.yml on Mac) from the export folder to your Update URL, together. Raise the game version for every release.
Fields#
| Field | What it does |
|---|---|
| Updates | My own update feed makes the game check your Update URL when it starts. Off ships a game that never checks for updates, even if an address is typed in. |
| Update URL | The https address players' copies check for new versions. Leave it blank to ship without automatic updates. |
| Sign updates | On by default. The export signs your update file with your game's private key, and the game only installs updates that carry a valid signature. |
Your update key#
Signing uses a key made just for your game. It has two halves:
- The public half is saved in your project's game.json and built into the exported game. It can only check signatures, never make them.
- The private half is a file in a hidden folder called .ed5-signing inside your project folder. It never goes into the installer or into game.json.
Back that file up. Whoever has it can publish updates your players will accept, and without it you cannot publish updates that existing installs will accept.
Gotchas#
- Never lose the private key. If game.json has a public key but the key file is missing, the export stops instead of making a new key, because a new key would make every game already installed refuse your updates. Restore the file from your backup.
- Games exported before signed updates keep updating the old way until you ship one new version by hand; after that, they check signatures.
- Sign updates off means the game accepts any installer your feed serves. Only turn it off for testing.
- A feed that is not https is ignored by the game and updates stay off.
- Steam builds are updated by Steam. These settings do not apply to them.
- If you upload an update file you edited by hand, the signature no longer matches and players' games refuse it. Export again instead.
- There is no feature flag; the settings are always available.