<!--
{
  "documentType" : "article",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/audio-unit-v3-plug-ins",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Audio Unit v3 Plug-Ins"
}
-->

# Audio Unit v3 Plug-Ins

Deliver custom audio effects, instruments, and other audio behaviors using an Audio Unit v3 app extension.

## Topics

### Host App

[Migrating Your Audio Unit Host to the AUv3 API](/documentation/AudioToolbox/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.

[Hosting Audio Unit Extensions Using the AUv2 API](/documentation/AudioToolbox/hosting-audio-unit-extensions-using-the-auv2-api)

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

### Audio Units

  <doc://com.apple.documentation/documentation/AVFAudio/creating-an-audio-unit-extension>

  <doc://com.apple.documentation/documentation/AVFAudio/creating-custom-audio-effects>

[Incorporating Audio Effects and Instruments](/documentation/AudioToolbox/incorporating-audio-effects-and-instruments)

Add custom audio processing and MIDI instruments to your app by hosting Audio Unit (AU) plug-ins.

[Debugging Out-of-Process Audio Units on Apple Silicon](/documentation/AudioToolbox/debugging-out-of-process-audio-units-on-apple-silicon)

Connect to out-of-process audio units using the Xcode debugger.

[Rendering Spatial Audio from Bluetooth headphones](/documentation/AudioToolbox/rendering-spatial-audio-from-bluetooth-headphones)

Create a Spatial Audio extension that allows Bluetooth headphones to track the wearer’s head movements for spatial audio playback.

[`AUAudioUnit`](/documentation/AudioToolbox/AUAudioUnit)

A class that defines a host’s interface to an audio unit.

[`AUAudioUnitBus`](/documentation/AudioToolbox/AUAudioUnitBus)

A class that defines an input or output connection point on an audio unit.

[`AUAudioUnitBusArray`](/documentation/AudioToolbox/AUAudioUnitBusArray)

A class that defines a container for an audio unit’s input or output busses.

[`AUAudioUnitPreset`](/documentation/AudioToolbox/AUAudioUnitPreset)

A class that describes an interface for custom parameter settings provided by the audio unit developer.

[`AUAudioUnitV2Bridge`](/documentation/AudioToolbox/AUAudioUnitV2Bridge)

A class that wraps a version 2 audio unit as version 3 audio unit.

[`AUHeadTrackingBinauralRenderer`](/documentation/AudioToolbox/AUHeadTrackingBinauralRenderer)

A subclass of AUAudioUnit specifically for 3rd party spatial Audio Units.

[`AudioUnitExtensionCopyComponentList(_:)`](/documentation/AudioToolbox/AudioUnitExtensionCopyComponentList(_:))

Returns the component registrations for a given audio unit extension.

[`AudioUnitExtensionSetComponentList(_:_:)`](/documentation/AudioToolbox/AudioUnitExtensionSetComponentList(_:_:))

Allows the implementor of an audio unit extension to dynamically modify the list of component registrations for the extension.

[`AUAudioUnitFactory`](/documentation/AudioToolbox/AUAudioUnitFactory)

An object that creates a version 3 audio unit.

### Parameters

[`AUParameter`](/documentation/AudioToolbox/AUParameter)

An object that represents a single audio unit parameter.

[`AUParameterGroup`](/documentation/AudioToolbox/AUParameterGroup)

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

[`AUParameterNode`](/documentation/AudioToolbox/AUParameterNode)

An object that represents a node in an audio unit’s parameter tree.

[`AUParameterTree`](/documentation/AudioToolbox/AUParameterTree)

An object that represents a top-level group node that contains all of an audio unit’s parameters.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)