Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SC2 Campaign Manager

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.

How it works

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).

Install

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.

Terminal usage

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 from source

./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.

Notes

  • 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.

License

Copyright © 2026 LixNix.

This project is licensed under the GNU Affero General Public License v3.0 — see LICENSE for the full text.

About

SC2 Campaign Manager for MacOS

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages