Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arma3 macOS Launcher & Mod Manager

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.

macOS Swift SwiftUI License

Features

Mod Management

  • 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

Game Launching

  • 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 .app executable to run
  • Steam Overlay: Automatic DYLD_INSERT_LIBRARIES injection for macOS Steam overlay
  • Launch Preview: Review symlink operations and mod list before launching

Preset System

  • 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

Dependency Checking

  • 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

Path Configuration

  • 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

macOS 26 Design

  • 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

System Requirements

  • 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

Installation

From Source (Xcode)

git clone https://github.com/nicoxiang/arma3-mod-manager.git
cd arma3-mod-manager/Arma3ModManager
open Package.swift
# Build and run with Cmd+R

From Source (Command Line)

cd arma3-mod-manager/Arma3ModManager
swift build -c release

Usage

First Launch

  1. The app auto-detects your Steam installation paths
  2. The Setup Wizard guides you through verifying/correcting paths
  3. Mods are automatically discovered and listed

Managing Mods

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

Launching the Game

  1. Enable the mods you want
  2. Press the Launch button in the toolbar
  3. Review the launch confirmation (symlinks, arguments)
  4. Click Launch Game to start Arma 3

Presets

  1. Configure your desired mods
  2. Save as Preset from the toolbar Actions menu
  3. Name your preset and save
  4. Load it anytime from the Presets section in the sidebar

Configuration

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": []
}

Custom Mods

Place custom (non-Workshop) mods in a dedicated folder with a meta.cpp file in each mod subfolder.

How It Works

  1. Mod Discovery: Scans three locations — Steam Workshop directory, custom mods folder, and the game directory (for Creator DLCs)
  2. meta.cpp Parsing: Reads mod names from meta.cpp files using regex
  3. Symlink Management: Creates symbolic links from mod directories into the game folder before launch
  4. Game Launch: Starts the Arma 3 executable with -mod= arguments and proper macOS environment variables

Keyboard Shortcuts

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

Troubleshooting

Mods Not Showing Up

  • Verify Workshop and game paths in Settings
  • Ensure mods have a meta.cpp file in their root directory
  • Click Refresh to rescan

Game Won't Launch

  • Check the executable name in Settings (default: arma3)
  • Verify the .app bundle exists in the game directory

Incompatible Mods (macOS)

The following mods require Windows DLLs and will not work on macOS:

  • ACE3
  • TFAR (Task Force Arrowhead Radio)
  • ACRE2
  • Blastcore

Architecture

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

Credits

  • Original CLI project by viktorholk
  • Refactored to native macOS SwiftUI application

License

This project is licensed under the MIT License — see the LICENSE file for details.

About

Arma3 MacOS Launcher&Mod Manager with GUI

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages