<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/AVAudioUnitComponentManager",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAudioUnitComponentManager"
  },
  "title" : "AVAudioUnitComponentManager"
}
-->

# AVAudioUnitComponentManager

An object that provides a way to search and query audio components that the system registers.

```
class AVAudioUnitComponentManager
```

## Overview

The component manager has methods to find various information about the audio components without opening them. Currently, you can only search audio components that are audio units.

The class supports system tags and arbitrary user tags. You can tag each audio unit as part of its definition. Audio unit hosts, such as Logic or GarageBand, can present groupings of audio units according to the tags.

You can search for audio units in the following ways:

- Using a `NSPredicate` instance that contains search strings for tags or descriptions
- Using a block to match on a custom criteria
- Using an `AudioComponentDescription`

## Topics

### Getting the unit audio component manager

[`shared()`](/documentation/AVFAudio/AVAudioUnitComponentManager/shared())

Gets the shared component manager instance.

### Getting matching audio components

[`components(matching:)`](/documentation/AVFAudio/AVAudioUnitComponentManager/components(matching:)-9qt94)

Gets an array of audio component objects that match the description.

[`components(matching:)`](/documentation/AVFAudio/AVAudioUnitComponentManager/components(matching:)-96l2c)

Gets an array of audio component objects that match the search predicate.

[`components(passingTest:)`](/documentation/AVFAudio/AVAudioUnitComponentManager/components(passingTest:))

Gets an array of audio components that pass the block method.

### Getting audio unit tags

[`standardLocalizedTagNames`](/documentation/AVFAudio/AVAudioUnitComponentManager/standardLocalizedTagNames)

An array of the localized standard system tags the audio units define.

[`tagNames`](/documentation/AVFAudio/AVAudioUnitComponentManager/tagNames)

An array of all tags the audio unit associates with the current user, and the system tags the audio units define.

### Observing registration changes

[`AVAudioUnitComponentManager.RegistrationsChangedMessage`](/documentation/AVFAudio/AVAudioUnitComponentManager/RegistrationsChangedMessage)

Type-safe notification message for audio unit component registration changes.

[`registrationsChangedNotification`](/documentation/AVFAudio/AVAudioUnitComponentManager/registrationsChangedNotification)

A notification the component manager generates when it updates its list of components.



---

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)