EngineForge Docs

Build & publish a GameMaker game

What you need to prepare before EngineForge can build your GameMaker project and publish it to itch.io — and what happens when you click Build.

EngineForge builds your GameMaker project straight from your GitHub repo and publishes the result to itch.io — no build machine, no runtime to install, and a free licence by default. This page is the checklist to get your first GameMaker build green.

v1 scope. GameMaker builds target Web (HTML5) and Linux — the targets GameMaker's command-line tool builds on our Linux build machines. Windows and macOS aren't available for GameMaker yet. See Supported engines.

Before your first build

  1. Your GameMaker project on GitHub. Your project's .yyp file should sit at the repo root. EngineForge detects a GameMaker project by it.
  2. GitHub connected. In the console, go to Settings → Services and connect GitHub. Every build clones your repo with your authorization.
  3. itch.io connected, and the game page created. In Settings → Services, paste your itch.io API key (itch.io → Settings → API keys). Then create the game's project page on itch.io first — EngineForge uploads to an existing page and can't create one. Note its URL https://<owner>.itch.io/<slug>; you will enter the target as <owner>/<slug>.
  4. A workflow set to GameMaker. Open your project, and in the workflow editor set:
    • Game engine → GameMaker
    • Build target → itch.io
    • Platforms → Web (HTML5) and/or Linux
    • itch.io game → owner/game (matching the page URL above)

GameMaker licence (optional)

By default EngineForge builds with GameMaker's free guest licence — which covers HTML5 and Linux, so most users need no licence setup at all. If you have a paid GameMaker subscription and want to build with it, connect a personal Access Key:

GameMaker-specific requirements

  • Supported version. Your project must be on a verified GameMaker line — currently 2024.14.x. A brand-new release (for example 2026) pulls an untested runtime and is rejected until we verify it. The version is read from your .yyp (IDEVersion); if it's off, open and re-save the project in a supported GameMaker release and rebuild.
  • Filenames must match their folder's case. GameMaker references a resource as folder/folder.yy. On macOS/Windows a file named Folder/Folder.yy works, but our build machines are case-sensitive Linux, so a case-only mismatch can't be found and the build stops with the exact list of files. Fix it by renaming those files to match their folder in your repo, or click Auto-fix & rebuild on the failed build (which corrects them in a throwaway copy for that build only — your repo is untouched).
  • Web needs one toggle on itch.io. A Web build uploads to itch.io's html5 channel, but itch.io can't be told it's browser-playable from an upload — after your first Web build, open the game's Edit page on itch.io and tick "This file will be played in the browser" once. (GameMaker's web export targets GX.games/Opera GX HTML5; if its layout isn't directly itch.io-playable, it may need repackaging.)

What happens when you click Build

  1. Validate — checks GitHub + itch.io are connected, the platforms are valid for GameMaker, and that the itch.io game page exists.

  2. Fetch sources — clones your repo.

  3. Build — builds your project headlessly with GameMaker's official command-line tool, once per platform you chose. The matching runtime is downloaded automatically.

  4. Publish — each platform's build is zipped and pushed to itch.io with butler, to the matching channel:

    Platformitch.io channel
    Linuxlinux
    Webhtml5
  5. Email — you get a build-result email (success with a link, or failure with the failing step and reason).

Troubleshooting

  • "WE CANNOT BUILD THIS — GameMaker <x> isn't supported." Your project's version isn't on the verified line. Open and re-save it in a supported GameMaker release (see Supported engines).
  • "filename case mismatch(es) that load on your Mac/Windows but not on our … Linux builder." Rename the listed files to match their folder's case in your repo, or click Auto-fix & rebuild on the failed build.
  • "itch.io game … does not exist." Create the project page on itch.io first, then make sure the owner/slug you entered matches the page URL exactly (itch.io slugs use dashes, not underscores).
  • The Web build isn't playable in the browser on itch.io. Tick "This file will be played in the browser" on the game's Edit page once — it can't be set from an upload.
  • Selecting Windows or macOS does nothing useful. Those aren't available for GameMaker in v1; the workflow editor only offers Web and Linux for the GameMaker engine.

On this page