Patches
Update a released game with a patch file that players add to the copy they already have.
A patch updates a released desktop game without a new installer. It carries rewritten lines, new scenes, replaced assets and updated translations into the copy a player already has. The player adds one folder to the game's folder, and removes it to return the game to what it shipped with.
Contents
A patch changes:
- stories, scenes, and lines
- pages and Game UI
- translations and voice tables
- asset files
- plugin data
A patch does not change the engine or the game's executable. Those ship in a new build.
Desktop builds read patches. Web, Android and iOS builds do not.
Distribution key
A build accepts patches only if the project had a distribution key when that build was made. Create the key before the build that ships to players.
Open the Project panel, choose Project, and select Create under Distribution key. The key is stored with the project and travels with it in version control, so everyone who builds the project builds under the same key. The page reports whether a key exists and the date it was last replaced. The key itself is never displayed.
Replace puts a new key in place. Builds released under the previous key do not accept patches made after the replacement.
Export
Edit the project
A patch is exported from the project in its current state.
Open the dialog
Choose Export Patch… from the Run and build dropdown in the top bar.
Fill in the fields
Variant is the build variant the patch is for. The patch opens only in builds of that variant.
Build this patch updates is the released build the patch is measured against. Browse… selects the desktop build folder the packager wrote. Only the files that differ from it are included; an empty field includes the whole game.
Save as is where the patch is written. The export writes into a patch folder at the location chosen here.
Name appears in the game's log beside the patch's filename.
Export
Choose Export. Studio writes one .patch.dat file inside the patch folder. Progress, findings and the final size appear in the Console.
An export cannot run while a production build is running.
Existing saves
The console reports two counts:
- Places a save can stop at that no longer exist. Saves that stopped at one of them refuse to load while the patch is installed, and open again once it is removed.
- Elements a save can hold state for that no longer exist. Those saves load, and the state held for those elements is dropped.
Both lines name the scenes the losses fall in. Deleting a line or a scene produces these counts; adding lines, rewriting lines and replacing assets do not.
The counts are warnings and the export runs. With Build this patch updates empty, the console reports that no saves were checked.
Installation
Zip the patch folder and send it. The player extracts it into the game's folder — the folder they start the game from:
On macOS that folder holds the application rather than an executable, and nothing goes inside the application itself:
Deleting the .patch.dat file returns the game to what it shipped with.
A patch folder in the player data folder also applies. A patch kept there survives reinstalling the game, and wins over one in the game's folder. Project ▸ App shows where a game keeps the player's files, under Player files.
Several patch files can sit in one folder. They apply in filename order, and a later one wins where two of them change the same thing.
Compatibility
A patch opens only in builds of the project and the variant it was made for. A file made for another project, made for another variant, or altered after export is not applied, and the game starts normally. The game's log records each patch that was applied and each one that was not.