---
title: AUAudioUnitFactory
framework: audiotoolbox
role: symbol
role_heading: Protocol
path: audiotoolbox/auaudiounitfactory
---

# AUAudioUnitFactory

An object that creates a version 3 audio unit.

## Declaration

```swift
protocol AUAudioUnitFactory : NSExtensionRequestHandling
```

## Mentioned in

Rendering Spatial Audio from Bluetooth headphones

## Overview

Overview 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 doesn’t 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.

## Topics

### Required Methods

- [createAudioUnit(with:)](audiotoolbox/auaudiounitfactory/createaudiounit(with:).md)

## Relationships

### Inherits From

- [NSExtensionRequestHandling](foundation/nsextensionrequesthandling.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Audio Units

- [Creating an audio unit extension](avfaudio/creating-an-audio-unit-extension.md)
- [Creating custom audio effects](avfaudio/creating-custom-audio-effects.md)
- [Incorporating Audio Effects and Instruments](audiotoolbox/incorporating-audio-effects-and-instruments.md)
- [Debugging Out-of-Process Audio Units on Apple Silicon](audiotoolbox/debugging-out-of-process-audio-units-on-apple-silicon.md)
- [Rendering Spatial Audio from Bluetooth headphones](audiotoolbox/rendering-spatial-audio-from-bluetooth-headphones.md)
- [AUAudioUnit](audiotoolbox/auaudiounit.md)
- [AUAudioUnitBus](audiotoolbox/auaudiounitbus.md)
- [AUAudioUnitBusArray](audiotoolbox/auaudiounitbusarray.md)
- [AUAudioUnitPreset](audiotoolbox/auaudiounitpreset.md)
- [AUAudioUnitV2Bridge](audiotoolbox/auaudiounitv2bridge.md)
- [AUHeadTrackingBinauralRenderer](audiotoolbox/auheadtrackingbinauralrenderer.md)
- [AudioUnitExtensionCopyComponentList(_:)](audiotoolbox/audiounitextensioncopycomponentlist(_:).md)
- [AudioUnitExtensionSetComponentList(_:_:)](audiotoolbox/audiounitextensionsetcomponentlist(_:_:).md)
