Skip to main content
iPlug2 supports multiple build systems and platforms, allowing you to build professional audio plugins for desktop, mobile, and web.

Supported Platforms

Windows

Visual Studio 2019/2022 with x64 and ARM64EC support

macOS

Xcode with Intel and Apple Silicon (Universal Binary)

iOS

AUv3 apps for iPhone and iPad

Web

WebAssembly plugins for browsers

Build Systems

iPlug2 projects can be built using: Modern, cross-platform build system that works on all platforms.
  • Generators: Ninja, Visual Studio, Xcode
  • Universal support: macOS Universal binaries, ARM64EC on Windows
  • Simplified project files: iplug_add_plugin() macro reduces boilerplate
  • IDE integration: Full IntelliSense, debugging, and code navigation
CMake is the recommended approach for new projects. See the CMake Guide for details.

Native IDEs

Platform-specific IDE projects for direct development.
  • Windows: Visual Studio solution files (.sln)
  • macOS/iOS: Xcode project files (.xcodeproj)
  • Full IDE features: Visual debugging, profiling, and project management

Makefiles

Command-line builds using Make.
  • Web/WASM: Emscripten-based makefile builds
  • Custom workflows: CI/CD and automated builds

Plugin Formats

  • VST3: Cross-platform (Windows, macOS)
  • CLAP: Modern, open-source format
  • AAX: Pro Tools (requires Avid SDK)
  • AUv2: macOS Audio Units (legacy)
  • VST2: Legacy format (deprecated, requires SDK)
  • AUv3: iOS/iPadOS Audio Unit v3
  • Embedded in standalone app
  • Full Inter-App Audio support
  • APP: Native desktop application
  • RTAudio/RTMidi for audio/MIDI I/O
  • All platforms (Windows, macOS, iOS)
  • WAM: Web Audio Modules
  • WASM: Split DSP/UI architecture
  • Runs in modern browsers

Build Configurations

All platforms support three build configurations:
ConfigurationOptimizationDebug SymbolsUse Case
DebugNone (-O0)FullDevelopment, debugging
ReleaseMax (-O3//O2)MinimalProduction, distribution
TracerMaxProfilingPerformance analysis
Tracer builds enable TRACER_BUILD for performance profiling and logging.

Project Structure

A typical iPlug2 plugin project:
MyPlugin/
├── CMakeLists.txt           # CMake project (optional)
├── MyPlugin.sln             # Visual Studio solution (Windows)
├── MyPlugin.cpp             # Plugin implementation
├── MyPlugin.h               # Plugin header
├── config.h                 # Plugin configuration
├── config/                  # Build configuration files
│   ├── MyPlugin-mac.xcconfig
│   ├── MyPlugin-ios.xcconfig
│   └── MyPlugin-win.props
├── projects/                # IDE-specific projects
│   ├── MyPlugin-macOS.xcodeproj
│   ├── MyPlugin-iOS.xcodeproj
│   ├── MyPlugin-app.vcxproj
│   ├── MyPlugin-vst3.vcxproj
│   └── MyPlugin-clap.vcxproj
├── resources/               # Plugin resources
│   ├── fonts/
│   ├── img/
│   └── MyPlugin-Info.plist
└── scripts/                 # Build scripts
    └── makedist-*.sh

Quick Start by Platform

Windows Build

Visual Studio setup, x64/ARM64EC builds, debugging

macOS Build

Xcode setup, Universal binaries, code signing

iOS Build

AUv3 development, app extensions, provisioning

Web Build

Emscripten setup, WASM builds, deployment

Cross-Platform Considerations

Dependencies

Some iPlug2 features require downloading dependencies:
cd iPlug2/Dependencies
./download-iplug-sdks.sh      # Plugin SDKs (VST3, AAX, etc.)
./download-igraphics-libs.sh  # Graphics libraries (Skia, etc.)
The default NanoVG graphics backend does not require downloading dependencies. Only download if you need Skia or specific SDKs.

IGraphics Backends

iPlug2 supports multiple graphics backends:
BackendSizeQualityPlatforms
NanoVGSmall (~100KB)GoodAll
SkiaLarge (~6MB)ExcellentDesktop, iOS
Use NanoVG for lightweight plugins. Use Skia for advanced graphics, text rendering, and animation.

SDK Requirements

FormatSDK RequiredLicenseNotes
VST3VST3 SDKGPL/CommercialFree, requires Steinberg license
CLAPCLAP SDKMITOpen-source, bundled
AAXAAX SDKCommercialRequires Avid Developer account
AUv2/v3Apple SDKsApple EULABundled with Xcode
VST2VST2 SDKDeprecatedNo longer distributed

Next Steps

1

Choose your platform

Select the platform guide for your development environment
2

Set up your build system

Install required tools (Visual Studio, Xcode, CMake, etc.)
3

Download dependencies

Run SDK download scripts if needed
4

Build your first plugin

Start with an example project to verify your setup

CMake Guide

Modern, cross-platform build system

Windows Guide

Visual Studio and MSBuild

macOS Guide

Xcode and command-line tools

Web Guide

WebAssembly and Emscripten