<!--
{
  "documentType" : "article",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/general-audio-unit-properties",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "General Audio Unit Properties"
}
-->

# General Audio Unit Properties

Properties that apply to any audio unit.

## Discussion

The integer range for the set of generic audio unit property identifiers is 0 through 999.

## Topics

### Properties

[`var kAudioUnitProperty_ElementCount: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ElementCount)

A read/write `UInt32` value valid on any audio unit scope. The global audio unit scope always has an element count of 1.

[`var kAudioUnitProperty_SupportedNumChannels: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_SupportedNumChannels)

A read-only array of channel information structures valid on the audio unit global scope.

[`var kAudioUnitProperty_AudioChannelLayout: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_AudioChannelLayout)

A read/write `AudioChannelLayout` data structure valid on the audio unit input and output scopes.

[`var kAudioUnitProperty_AudioUnitMIDIProtocol: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_AudioUnitMIDIProtocol)

[`var kAudioUnitProperty_AUHostIdentifier: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_AUHostIdentifier)

[`var kAudioUnitProperty_BypassEffect: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_BypassEffect)

A read/write `UInt32` value, representing a Boolean value, valid on the audio unit global scope.

[`var kAudioUnitProperty_ClassInfo: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ClassInfo)

Describes the state of an audio unit.

[`var kAudioUnitProperty_ClassInfoFromDocument: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ClassInfoFromDocument)

A read/write CFDictionary object, valid on the audio unit global scope.

[`var kAudioUnitProperty_CocoaUI: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_CocoaUI)

A read-only `AudioUnitCocoaViewInfo` data structure valid on the audio unit global scope.

[`var kAudioUnitProperty_ContextName: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ContextName)

[`var kAudioUnitProperty_CPULoad: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_CPULoad)

A read-only `Float64` value valid on the audio unit global scope.

[`var kAudioUnitProperty_DependentParameters: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_DependentParameters)

[`var kAudioUnitProperty_ElementName: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ElementName)

The name of the specified element.

[`var kAudioUnitProperty_FactoryPresets: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_FactoryPresets)

So-called *factory presets* (as opposed to user-configured presets) are ones supplied with an audio unit by the manufacturer. You choose the active preset by setting the `kAudioUnitProperty_PresentPreset` property.

[`var kAudioUnitProperty_FastDispatch: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_FastDispatch)

A read-only `void *` value valid on the audio unit global scope.

[`var kAudioUnitProperty_FrequencyResponse: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_FrequencyResponse)

[`var kAudioUnitProperty_GetUIComponentList: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_GetUIComponentList)

[`var kAudioUnitProperty_HostCallbacks: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_HostCallbacks)

[`var kAudioUnitProperty_HostMIDIProtocol: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_HostMIDIProtocol)

[`var kAudioUnitProperty_IconLocation: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_IconLocation)

[`var kAudioUnitProperty_InPlaceProcessing: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_InPlaceProcessing)

A read/write `UInt32` value, representing a Boolean value, valid on the audio unit global scope.

[`var kAudioUnitProperty_InputSamplesInOutput: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_InputSamplesInOutput)

A read/write AUInputSamplesInOutputCallbackStruct struct, valid on the audio unit global scope.

[`var kAudioUnitProperty_LastRenderError: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_LastRenderError)

A read-only `OSStatus` value valid on the audio unit global scope.

[`var kAudioUnitProperty_LastRenderSampleTime: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_LastRenderSampleTime)

[`var kAudioUnitProperty_Latency: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_Latency)

A read-only `Float64` value valid on the audio unit global scope.

[`var kAudioUnitProperty_LoadedOutOfProcess: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_LoadedOutOfProcess)

[`var kAudioUnitProperty_MakeConnection: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_MakeConnection)

A write-only [`AudioUnitConnection`](/documentation/AudioToolbox/AudioUnitConnection) data structure valid on the audio unit input scope.

[`var kAudioUnitProperty_MIDIOutputBufferSizeHint: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_MIDIOutputBufferSizeHint)

[`var kAudioUnitProperty_MIDIOutputCallback: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_MIDIOutputCallback)

A write-only AUMIDIOutputCallbackStruct struct, valid on the audio unit global scope.

[`var kAudioUnitProperty_MIDIOutputCallbackInfo: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_MIDIOutputCallbackInfo)

A read-only CFArray object valid on the audio unit global scope.

[`var kAudioUnitProperty_MIDIOutputEventListCallback: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_MIDIOutputEventListCallback)

[`var kAudioUnitProperty_MaximumFramesPerSlice: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_MaximumFramesPerSlice)

Specifies the maximum number of sample frames an audio unit is prepared to supply on one invocation of its [`AudioUnitRender(_:_:_:_:_:_:)`](/documentation/AudioToolbox/AudioUnitRender(_:_:_:_:_:_:)) function.

[`var kAudioUnitProperty_NickName: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_NickName)

[`var kAudioUnitProperty_OfflineRender: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_OfflineRender)

[`var kAudioUnitProperty_ParameterClumpName: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterClumpName)

A read-only `AudioUnitParameterNameInfo` struct, valid on any audio unit scope.

[`var kAudioUnitProperty_ParameterHistoryInfo: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterHistoryInfo)

For parameters that have the [`flag_PlotHistory`](/documentation/AudioToolbox/AudioUnitParameterOptions/flag_PlotHistory) flag set, getting this property fills out the [`AudioUnitParameterHistoryInfo`](/documentation/AudioToolbox/AudioUnitParameterHistoryInfo) struct containing the recommended update rate and history duration.

[`var kAudioUnitProperty_ParameterIDName: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterIDName)

A shortened version of an audio unit parameter name, suitable for compact display situations.

[`var kAudioUnitProperty_ParameterInfo: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterInfo)

[`var kAudioUnitProperty_ParameterList: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterList)

A list of read-only parameter ID values valid on any audio unit scope.

[`var kAudioUnitProperty_ParameterStringFromValue: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterStringFromValue)

A read-only [`AudioUnitParameterStringFromValue`](/documentation/AudioToolbox/AudioUnitParameterStringFromValue) struct, valid on any audio unit scope.

[`var kAudioUnitProperty_ParameterValueFromString: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterValueFromString)

[`var kAudioUnitProperty_ParameterValueStrings: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParameterValueStrings)

An array of names for a named, indexed audio unit parameter. An indexed parameter is one whose unit type is [`AudioUnitParameterUnit.indexed`](/documentation/AudioToolbox/AudioUnitParameterUnit/indexed). The array’s strings can be used to build a menu for the parameter.

[`var kAudioUnitProperty_ParametersForOverview: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ParametersForOverview)

[`var kAudioUnitProperty_PresentPreset: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_PresentPreset)

The active factory preset for an audio unit.

[`var kAudioUnitProperty_PresentationLatency: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_PresentationLatency)

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

The block that the system calls when the rendering context changes.

[`var kAudioUnitProperty_RenderQuality: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_RenderQuality)

A read/write `UInt32` value valid on the audio unit global scope.

[`var kAudioUnitProperty_RequestViewController: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_RequestViewController)

[`var kAudioUnitProperty_SampleRate: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_SampleRate)

[`var kAudioUnitProperty_SetExternalBuffer: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_SetExternalBuffer)

[`var kAudioUnitProperty_SetRenderCallback: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_SetRenderCallback)

[`var kAudioUnitProperty_StreamFormat: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_StreamFormat)

[`var kAudioUnitProperty_ShouldAllocateBuffer: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_ShouldAllocateBuffer)

A read/write `UInt32` value valid on the audio unit input and output scopes, settable individually on each element.

[`var kAudioUnitProperty_SupportedChannelLayoutTags: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_SupportedChannelLayoutTags)

A read-only array on `AudioChannelLayoutTag` structures, valid on the audio unit input and output scopes.

[`var kAudioUnitProperty_SupportsMPE: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_SupportsMPE)

[`var kAudioUnitProperty_TailTime: AudioUnitPropertyID`](/documentation/AudioToolbox/kAudioUnitProperty_TailTime)

A read-only `Float64` value valid on the audio unit global scope.



---

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)