Skip to content

Deployment

Astrid Avalin Sørensen edited this page Jul 31, 2025 · 10 revisions

Setup Guides

WebGL

Setup GitHub Pages

To successfully deploy your Unity WebGL build to GitHub Pages using this CI/CD pipeline, make sure your repository’s GitHub Pages settings are configured like this:

Source:
Deploy from a branch

Branch:
gh-pages/ (root)

You can check this by going to:
Repository → Settings → Pages → Build and Deployment

Example setup (as shown in the screenshots):

  • Your site is live at: https://<your-username>.github.io/<your-repo>/
  • The gh-pages branch will be automatically updated by the CI pipeline.
  • You do not need to set up Jekyll or any static site generator.

Important:

  • The pipeline force-updates the gh-pages branch to contain only your Unity WebGL build files.
  • If you see the repository README or other files on your live site, it usually means:
    • The WebGL build folder was empty or misconfigured.
    • The deployment step failed to place the right files.
    • You need to double-check the publish_dir path in the workflow.

Example Setup

This what your pages settings page should look like.

image


Steam

AppCenter

AWS S3

Firebase

TestFlight

🕹️ Itch.io

Setup itch.io Deployment

To successfully deploy your Unity builds (WebGL, Windows, Linux, etc.) to itch.io, follow these steps:


✅ Create a Game Project on itch.io

  1. Go to https://itch.io/dashboard
  2. Click “Create new project”
  3. Set:
    • Kind of project: HTML for WebGL, Downloadable for native builds
    • Visibility: Draft or Restricted (for testing)
    • URL: e.g. https://yourname.itch.io/yourgame

🔑 Required Secrets

Add these repository secrets in GitHub → Settings → Secrets and Variables → Actions:

Secret Name Description
BUTLER_API_KEY Your API key from itch.io settings
ITCH_USERNAME Your itch.io username (e.g. yourname)
ITCH_PROJECT Your game’s URL slug (e.g. yourgame)

📦 Channel Mapping (auto-detected)

The pipeline maps Unity build targets to itch.io channels automatically:

Unity Build Target itch.io Channel
WebGL webgl
StandaloneWindows64 windows-64
StandaloneLinux64-Client linux-client
StandaloneOSX osx-desktop
Android android
iOS osx-ios

Each build target is pushed to its corresponding channel using butler.


🧪 Testing Itch Deployments

  • You can create a private test project like yourname.itch.io/test-deploy
  • Use buildType: preview and buildVersion: preview-test to run test deployments
  • The CI/CD pipeline will push artifacts only for the relevant build targets listed under your selected deploy target

📝 Notes

  • The pipeline uses butler push to upload builds.
  • Each artifact is versioned using the --userversion flag with your Git tag or CI version.
  • itch.io will automatically show download buttons or embed WebGL depending on the channel used.

Custom Server

Clone this wiki locally