Skip to content

Avalin/Unity-CI-Templates

Repository files navigation

🚀 Unity CI/CD Pipeline

Robust GitHub Actions workflows for Unity projects. Automates testing, multi-platform builds, and GitHub Releases with modular, reusable design.

CI License Unity Latest Release

🌐 WebGL Demo

See a live WebGL build deployed using this CI/CD pipeline:

➡️ Play the Demo

Deployed via GitHub Pages using the gh-pages deploy target.

🚀 Getting Started

1️⃣ Ensure your Unity project is in a GitHub repository
2️⃣ Copy the required GitHub Actions workflows from the CICD_Workflows folder
3️⃣ Add them to your repository at path: .github → workflows (create folders if missing)
4️⃣ Configure the required secrets in your repository
5️⃣ Read and optionally setup repository variables, they're important to understand the inputs for the workflow dispatch
6️⃣ Try dispatching the ci-cd-dispatcher.yml workflow or push a Git tag using SemVer to see the pipeline in action!

⚠️ Currently tested deploy targets: gh-pages (WebGL only). Others are implemented but not yet fully verified. Contributions welcome!

📖 Documentation

For full setup instructions, deployment target guides, and advanced configuration tips, see the ➡️ Wiki

📌 Features

Feature Description
🧪 Test Detection Auto-detects and runs EditMode & PlayMode tests.
🛠️ Cross-Platform Builds Android, iOS, WebGL, macOS, Windows, and Linux supported.
📦 Release Deployment Automatically creates GitHub Releases on tag push.
🧹 Modular Design Fully split into reusable workflow_call templates.
Parallel Matrix Builds Parallel jobs across macOS and Ubuntu runners.
🔐 Secure License Activation Unity .ulf license securely injected during CI.
🗃️ LFS & Cache Optional Git LFS + caching of Unity Library and Packages/.
🎛️ Manual Dispatch Manually trigger preview builds with JSON platform control.
🚀 Deploy Upload builds to external platforms like itch.io, TestFlight, or custom servers
📣 Notifications Discord/Slack webhook support
🔍 Static Analysis C# linters or Unity analyzers

⚠ Current Limitations

While the pipeline is production-ready and modular, some deploy integrations are still marked as experimental:

  • 🚧 Deploy targets like Steam, TestFlight, App Center
    These are implemented but have not yet been fully validated in live release pipelines.

  • 🔗 External platforms may require manual setup
    Some targets (like itch.io, Firebase, S3) require correctly configured secrets and accounts - be sure to test deploy flows in a safe sandbox environment before pushing to production.

  • 🧪 Unity version compatibility
    Currently optimized for Unity 2022.3+, tested with Unity 6 too, but older versions may work as well.

Contributions and testing feedback are welcome!
If you successfully validate additional targets or add new ones, please consider opening a PR to improve support for the community.


🙌 Credits

Crafted with ❤️ by Avalin
Powered by GitHub Actions + Unity + Tears. (PRs welcome!)

Packages

No packages published

Contributors 2

  •  
  •