AUv3 Extensions User Presets

Written by Stefan Herold

Description: Audio Unit app extensions gives users a convenient way to create or modify audio in any iOS or macOS app that uses sound, including music production apps such as GarageBand or Logic Pro X. And now, with iOS 13, you can store user presets for your extensions that are accessible across applications.

  • Presets fine-tunes set of parameter values
  • Capture Snapshot of state of Audio Unit's parameters
  • Loading preset restores Audio Unit to same state
  • AUAudioUnit.factoryPresets built into the unit by manufacturer. Immutable.
  • AUAudioUnit.userPresets are new and are created by user. Mutable. Unit exposes them to all host applications.
  • supportsUserPreset: Bool used to verify support by the host
  • saveUserPreset(_:) & deleteUserPreset(_:)
  • presetState(for:) throws -> [String : Any] to get state.
  • isLoadedInProcess: Bool is a macOS only feature
  • Methods above have default implementations. Can be overridden.

This note was originally published at

Missing anything? Corrections? Contributions are welcome 😃

Written by

Stefan Herold

Stefan Herold

iOS Developer a.d. 2009 • iOS / OSX Enthusiast • WWDC19 • Past: flinc, Deutsche Telekom, NOLTE&LAUTH • Passionate Mountainbiker