-
Notifications
You must be signed in to change notification settings - Fork 8
Deployment
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-pagesbranch 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-pagesbranch 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_dirpath in the workflow.
This what your pages settings page should look like.

To successfully deploy your Unity builds (WebGL, Windows, Linux, etc.) to itch.io, follow these steps:
- Go to https://itch.io/dashboard
- Click “Create new project”
- 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
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) |
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.
- You can create a private test project like
yourname.itch.io/test-deploy - Use
buildType: previewandbuildVersion: preview-testto run test deployments - The CI/CD pipeline will push artifacts only for the relevant build targets listed under your selected deploy target
- The pipeline uses
butler pushto upload builds. - Each artifact is versioned using the
--userversionflag with your Git tag or CI version. - itch.io will automatically show download buttons or embed WebGL depending on the channel used.
Let’s build better Unity pipelines together! 🚀
Need help? Join the Discussions or open an Issue.