A native macOS application for managing Arma 3 mods and launching the game — built with SwiftUI and designed for macOS 26 with the Liquid Glass design language.
Refactored from viktorholk/arma3-mod-manager-console — rewritten from Rust CLI/TUI to a native Swift macOS GUI application.
- Auto-discovery: Automatically scans Steam Workshop mods, custom mods, and Creator DLCs
- Enable/Disable: Toggle individual mods with a single click, or batch enable/disable all
- Search & Filter: Real-time search with category filtering (Workshop / Custom / CDLC / Enabled / Disabled)
- Sorting: Sort mods by name, source, or enabled status
- Mod Details: Inspector panel showing mod ID, directory size, file contents, and Steam Workshop link
- One-click Launch: Start Arma 3 with all enabled mods via symlink management
- Custom Launch Args: Edit launch parameters (default:
-noSplash -skipIntro -world=empty) - Executable Config: Configure which
.appexecutable to run - Steam Overlay: Automatic
DYLD_INSERT_LIBRARIESinjection for macOS Steam overlay - Launch Preview: Review symlink operations and mod list before launching
- Save Presets: Save current mod selection and launch parameters as named presets
- Load Presets: Instantly switch between different mod configurations
- Import/Export: Share presets via JSON files
- Preset Details: View which mods are in each preset and their installation status
- Workshop Dependencies: Scrapes Steam Workshop pages to identify required mods
- Install Status: Shows which dependencies are installed and which are missing
- Quick Subscribe: Direct links to missing dependencies on Steam Workshop
- Auto-detection: Automatically finds Steam installation paths on macOS
- Setup Wizard: First-run wizard guides through path configuration
- Folder Picker: Native macOS folder selection dialogs
- Validation: Real-time path validation with visual feedback
- Liquid Glass: NavigationSplitView sidebar/inspector with automatic Liquid Glass material
- Three-column Layout: Sidebar, Mod List, Inspector detail panel
- Native Toolbar: Liquid Glass toolbar with grouped actions
- Keyboard Shortcuts: Full keyboard navigation
- Menu Bar: Custom Mods and Game menus with all available actions
- Settings Integration: Standard macOS Settings window
- macOS 15.0+ (macOS Sequoia or later; optimized for macOS 26 Liquid Glass)
- Xcode 16.0+ (for building from source)
- Steam installed with Arma 3
- Arma 3 macOS version
git clone https://github.com/nicoxiang/arma3-mod-manager.git
cd arma3-mod-manager/Arma3ModManager
open Package.swift
# Build and run with Cmd+Rcd arma3-mod-manager/Arma3ModManager
swift build -c release- The app auto-detects your Steam installation paths
- The Setup Wizard guides you through verifying/correcting paths
- Mods are automatically discovered and listed
- Toggle: Click the checkbox next to any mod to enable/disable it
- Search: Use the search bar to find mods by name or ID
- Filter: Select categories in the sidebar to filter mod types
- Details: Click a mod to view its details in the inspector panel
- Context Menu: Right-click for quick actions (enable, show in Finder, open in Steam)
- Enable the mods you want
- Press the Launch button in the toolbar
- Review the launch confirmation (symlinks, arguments)
- Click Launch Game to start Arma 3
- Configure your desired mods
- Save as Preset from the toolbar Actions menu
- Name your preset and save
- Load it anytime from the Presets section in the sidebar
Configuration is stored at ~/arma3-mod-manager-console-config.json (compatible with the original CLI tool).
{
"game_path": "~/Library/Application Support/Steam/steamapps/common/Arma 3",
"workshop_path": "~/Library/Application Support/Steam/steamapps/workshop/content/107410",
"custom_mods_path": null,
"executable_name": "arma3",
"enabled_mods": ["123456", "789012"],
"default_args": "-noSplash -skipIntro -world=empty",
"presets": []
}Place custom (non-Workshop) mods in a dedicated folder with a meta.cpp file in each mod subfolder.
- Mod Discovery: Scans three locations — Steam Workshop directory, custom mods folder, and the game directory (for Creator DLCs)
- meta.cpp Parsing: Reads mod names from
meta.cppfiles using regex - Symlink Management: Creates symbolic links from mod directories into the game folder before launch
- Game Launch: Starts the Arma 3 executable with
-mod=arguments and proper macOS environment variables
| Shortcut | Action |
|---|---|
| Cmd+P | Launch Arma 3 |
| Cmd+R | Refresh mod list |
| Cmd+F | Focus search |
| Cmd+S | Save configuration |
| Cmd+, | Open Settings |
| Cmd+Shift+E | Export presets |
| Cmd+Shift+I | Import presets |
- Verify Workshop and game paths in Settings
- Ensure mods have a
meta.cppfile in their root directory - Click Refresh to rescan
- Check the executable name in Settings (default:
arma3) - Verify the
.appbundle exists in the game directory
The following mods require Windows DLLs and will not work on macOS:
- ACE3
- TFAR (Task Force Arrowhead Radio)
- ACRE2
- Blastcore
Arma3ModManager/Sources/
App/
Arma3ModManagerApp.swift @main entry, Scene, Commands
ContentView.swift NavigationSplitView root
Models/
Mod.swift Mod data model
ModManager.swift @Observable business logic
Config.swift JSON persistence (backward-compatible)
Preset.swift Preset data model
DependencyChecker.swift Steam Workshop dependency scraper
Views/
Sidebar/SidebarView.swift Navigation sidebar
ModList/ModListView.swift Main mod list
ModList/ModRowView.swift Individual mod row
Detail/ModDetailView.swift Inspector panel
Detail/DependencySheetView.swift
Settings/SettingsView.swift Preferences
Settings/SetupWizardView.swift
Presets/PresetViews.swift Preset management
Launch/LaunchConfirmView.swift
Utilities/
SteamPathDetector.swift Auto-detect Steam paths
MetaCppParser.swift meta.cpp name extraction
SymlinkManager.swift Symlink create/cleanup
CDLCRegistry.swift Creator DLC mapping
- Original CLI project by viktorholk
- Refactored to native macOS SwiftUI application
This project is licensed under the MIT License — see the LICENSE file for details.