This was not a command reference. I wanted a game developer who had never used Butler to understand why it mattered, install it successfully on Windows, push a real build, and verify the result from the player’s side.

Why I made this

I start with the outcome rather than the command syntax. If you’re building a game, you need a faster way to distribute builds. If you’re playing it, you shouldn’t have to download the entire game again whenever one small thing changes.

That context gives Butler a reason to exist. Instead of presenting binary comparison as an abstract feature, I show you what it means: the developer uploads only what changed, and the itch.io app can deliver a much smaller update.

The details I didn’t skip

I deliberately uninstalled the tooling before recording so you could start where a new user actually starts. I create a placeholder game, download Butler, explain why the command-line program seems to flash and disappear, give it a permanent location, add it to the Windows PATH, restart the terminal, authenticate, and check that everything works.

Only then do I assemble the push command. I connect every part to something you can see: the build archive, itch.io account, game name, and release channel. My goal is to make the command feel less like magic and more like a small model you can adapt.

How I knew it worked

The first push is only half the demonstration. I install the game through the itch.io app, change the Unity scene from one cube to two, rebuild it, push again, and show Butler recognizing that nearly all of the data is unchanged.

Then I retrieve the update through the itch.io app and launch the changed build. You get to see the entire chain work: what I did as the developer, what the platform did, and what the player finally received.

Chapters

Select a chapter to jump the video above directly to that moment.

Looking back

  1. I anticipated where a Windows user would get stuck with a command-line executable, PATH, authentication, and channel naming.
  2. I understood Butler’s binary-diff publishing model well enough to explain both the developer and player benefit.
  3. I turned the complete setup into a reproducible 20-minute path with clickable chapters.
  4. I used a real Unity build, changed it, pushed it again, and showed Butler detecting what changed.
  5. I validated the update inside the itch.io app instead of stopping at a successful terminal message.

I recorded this almost a decade before putting together the DevRel section of this site. I wasn’t trying to build a portfolio piece. I had found a useful tool, worked through the awkward parts, and wanted other game developers to have an easier time with it.

A note before you follow it

I recorded this in 2016, so please check the current itch.io documentation before following every screen or command literally. I’m preserving the video because it still shows how I teach a complete technical workflow—not because I expect every interface to look the same today.

Make the path visible. More DevRel work →