Version control for game makers
Big worlds. Small changes.
A shared history for your assets, code, and all the people bringing your world to life.
Made for big files
Only changed chunks travel.
One server decides
No arguing about which copy is real.
Nothing overwritten silently
Sync saves your changes before it replaces a file.
Transfers
Change a corner of a 2 GB level. Send the chunks that changed.
Scribe uploads only the chunks the server doesn't have, reuses what's already on your disk, and verifies every rebuilt file.
How transfers work- 1 / 4 / 16 MiB
- Minimum / target / maximum chunk
- 256-bit
- BLAKE3 content identity
How much that saves depends on how your tools write files.
For the whole team
The unglamorous parts, done carefully.
Branch without copying the art.
A new branch copies metadata, not your texture library. Merges only look at paths that actually diverged.
Sync what you work on.
Sound design doesn't need the cinematics folder. Workspace views let each person pull only the paths they need.
Who has the level open?
Repository-wide locks answer that before two people find out the hard way. Binary conflicts get a human decision, not a guess.
On machines you run.
Shared identities, repository roles, and tokens you can revoke, over TLS 1.3.
Compression where it helps.
LZ4 for storage and for transfers, set separately. Data that doesn't shrink is kept raw.
Friendly to build scripts.
Revision exports, --json output, read-only integrity checks, and backups you can verify before you need them.
As you grow
One server today. More when you need them.
Most teams start with a single storage server and add the rest when the team, the projects, or the disks ask for it.
- 01
Just the server.
Run scribe-server locally. No auth service, controller, or gateway required.
- 02
Add accounts.
Add scribe-auth for shared accounts and repository permissions over TLS.
- 03
Fewer terminals.
Let scribe-ctl provision and supervise local storage and auth from one TOML file.
- 04
More storage.
Put scribe-gateway in front of multiple storage instances, with one endpoint for your clients.
Storage stays authoritative. The gateway routes existing repositories and places new ones across storage instances.
The project
Everything a game is made of, in one repository.
- Holds
- Levels & scenes · Textures & materials · Code, and that one spreadsheet
- Server and client
- Windows · macOS · Linux
- Status
- In development · Written in RustHow it's built
The daily loop
Three commands you'll type every day.
- 01
Open it for edit
Tell Scribe which file you're about to change.
shell scribe edit Assets/world.scene - 02
Submit the change
The server accepts it, or tells you why not.
shell scribe submit -m "Move the waterfall two meters left" - 03
Everyone else syncs
Teammates pull the accepted change into their working copies.
shell scribe sync
When you're ready