A native macOS manager for StarCraft II custom campaigns — a Mac counterpart to the
Windows Custom Campaign Manager. Import campaign packages, activate one per campaign slot,
and restore the vanilla campaigns at any time. Comes as a SwiftUI app and a full
terminal interface (ccmtool) that share the same library.
Made by LixNix.
StarCraft II loads loose files from Maps/Campaign/… and Mods/ inside its install
folder in preference to its built-in CASC archives. The manager copies a campaign's maps
and mods into those folders on activation and removes exactly the files it installed
on deactivation (tracked per-file in a manifest), so the vanilla campaigns are never
touched. Files you placed there yourself are backed up before being overwritten and
restored on deactivation.
Campaign slots: Wings of Liberty, Heart of the Swarm, Legacy of the Void (incl. prologue
and epilogue), and Nova Covert Ops. Packages are the community-standard CCM zips
(metadata.txt + *.SC2Map + *.SC2Mod).
Download the DMG from the latest release (or build from source), open it, and drag SC2 Campaign Manager to Applications (or wherever you like). The app is ad-hoc signed, so the first launch needs right-click → Open. Universal binary: runs natively on Apple Silicon and Intel Macs, macOS 14 or newer.
On first launch, the app auto-detects the StarCraft II install folder
(/Applications/StarCraft II or ~/Games/StarCraft II) and asks if it can't find it.
ccmtool is built alongside the app (./build.sh) and shares its state:
ccmtool status show each slot and what's active
ccmtool list list imported campaigns with indices
ccmtool import <zip> [--slot lotv] import a campaign package
ccmtool activate <title|index> install a campaign into its slot
ccmtool deactivate <slot|all> restore the vanilla campaign(s)
ccmtool remove <title|index> delete a campaign from the library
ccmtool path [folder] show or set the StarCraft II folder
ccmtool test run the self-test suite
./build.sh # native build (Apple Silicon)
./build.sh --universal # universal build (arm64 + x86_64)
Requires Xcode (or the Command Line Tools with a macOS SDK). The GitHub Actions workflow
builds the universal app, runs the test suite, and updates the rolling latest-build pre-release with a fresh DMG on every push to main; pushing
a v* tag additionally creates a release.
- Achievements are disabled by StarCraft II while custom campaign files are active.
- Start a new campaign in-game after activating; existing mid-campaign saves can misbehave.
- Most campaign mods expect the game language to be set to English.
- The campaign library lives in
~/Library/Application Support/SC2CampaignManager.
Copyright © 2026 LixNix.
This project is licensed under the GNU Affero General Public License v3.0 — see LICENSE for the full text.