Implement this protocol to create a version 3 audio unit.


@protocol AUAudioUnitFactory


In most cases, if your audio unit specifies parameters to configure its behavior, it should provide a custom user interface to control those parameters. You create this user interface by subclassing the AUViewController class and implementing this protocol on your subclass.

If your audio unit does not provide a custom user interface, subclass the NSObject class instead. In this case, the hosting app must create a generic user interface for your audio unit.


Required Methods

- createAudioUnitWithComponentDescription:error:

Creates an instance of an extension’s audio unit.


- requestViewControllerWithCompletionHandler:

Requests an audio unit's custom view controller.


See Also

Audio Unit v3

Hosting Audio Unit Extensions Using the AUv2 API

Update your existing Audio Unit v2 host app to load and use Audio Unit extensions.

Migrating Your Audio Unit Host to the AUv3 API

Update your Audio Unit (AU) host app to take advantage of the new features and capabilities of AUv3.


The AUAudioUnit class defines a host’s interface to an audio unit.


The AUAudioUnitBus class defines an input or output connection point on an audio unit.


The AUAudioUnitBusArray class defines a container for an audio unit’s input or output busses.


The AUAudioUnitPreset class describes an interface for custom parameter settings provided by the audio unit developer. These presets often produce a useful sound or starting point.


The AUAudioUnitV2Bridge class wraps a version 2 audio unit in an AUAudioUnit subclass.


An AUParameter object represents a single audio unit parameter.


A parameter group object represents a group of related audio unit parameters.


An AUParameterNode object represents a node in an audio unit’s parameter tree. Nodes are instances of either an AUParameter or AUParameterGroup class.


An AUParameterTree object is a top-level group node, representing all of an audio unit’s parameters. An audio unit’s parameters are organized into a tree containing groups and parameters (groups may be nested).