This is a fork of Duck Game Rebuilt that adds macOS compatibility, including build scripts, app bundling, code signing, notarization, and CI for both Apple Silicon (arm64) and Intel (x64).
Duck Game Rebuilt is a decompilation of Duck Game with massive improvements to performance, compatibility, and quality of life features.
Join our Discord server if you have any questions, need help, or want to report bugs
Notable wiki pages:
- Frequently Asked Questions
- A list of all improvements to Duck Game Rebuilt
- Hardware and software compatibility
For Windows users, subscribe to the steam workshop mod.
For Linux users, follow the Linux Installation Guide
For macOS users, download the DMG from the latest release and copy the game to your Applications folder.
Welcome to the repo, enjoy your stay, please unfuck the code. thanks
Note: your IDE will scream at you with 200+ warnings when building, which is normal
- Make sure you have .NET Framework 4.8 installed and have a functioning IDE (like Visual Studio) for C#
- Make sure the Startup Program leads to the exe produced in the ./bin folder after compiling
- Restore the NuGet packages (most IDEs automatically do this anyway)
- Build the solution with
Ctrl+Shift+B - Run the game in Debug Mode with
F5(will crash unless Steam is running)- Make sure the currently selected project is DuckGame and not CrashWindow/FNA/anything else
- Add the official monoproject repos (unless you're firebreak appearantly)
- Install the
mono-completepackage cdto the solution's directory- Restore the NuGet packages if your IDE hasn't
nuget restore
- Add missing DLL dependencies from Windows located in ./DuckGame/lib/
mkdir ./bin/cp ./DuckGame/lib/* ./bin/
- Build the solution
msbuild -m -p:Configuration=Debug
- Run the game (will crash unless Steam is currently running)
mono ./bin/DuckGame.exe
- Install build dependencies with Homebrew
brew install mono mono-libgdiplus nuget cmake sdl2
- Build the game and native macOS libraries
./scripts/build-macos.sh Release
- Run the game from the build output
./bin/DuckGame.sh -nosteam- Omit
-nosteamwhen Steam is running andsteam_apiis available
- Package app bundle and DMG (shell script)
./scripts/package-macos.sh --configuration Release --dmg
- Sign in parallel, package, and notarize (shell pipeline)
./scripts/release-macos.sh --identity "Developer ID Application: Your Name (TEAM_ID)"- Set up notary credentials once:
xcrun notarytool store-credentials "DuckGameRebuilt-macos" --apple-id "you@example.com" --team-id "TEAMID" --password "app-specific-password"