<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.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/AVAudioEnvironmentNode",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAudioEnvironmentNode"
  },
  "title" : "AVAudioEnvironmentNode"
}
-->

# AVAudioEnvironmentNode

An object that simulates a 3D audio environment.

```
class AVAudioEnvironmentNode
```

## Overview

The `AVAudioEnvironmentNode` class is a mixer node that simulates a 3D audio environment. Any node that conforms to [`AVAudioMixing`](/documentation/AVFAudio/AVAudioMixing) can act as a source node, such as [`AVAudioPlayerNode`](/documentation/AVFAudio/AVAudioPlayerNode).

The environment node has an implicit listener. You set the listener’s position and orientation, and the system then controls the way the user experiences the virtual world.

To help characterize the environment, this class defines properties for distance attenuation and reverberation.

[`AVAudio3DMixingSourceMode`](/documentation/AVFAudio/AVAudio3DMixingSourceMode) affects how inputs with different channel configurations render. Spatialization applies only to inputs with a mono channel connection format. This class doesn’t spatialize stereo inputs or support inputs with connection formats of more than two channels.

To set the node’s output to a multichannel format, use an [`AVAudioFormat`](/documentation/AVFAudio/AVAudioFormat) that has one of the following <doc://com.apple.documentation/documentation/CoreAudioTypes/audio-channel-layout-tags>:

- <doc://com.apple.documentation/documentation/CoreAudioTypes/kAudioChannelLayoutTag_AudioUnit_4>
- <doc://com.apple.documentation/documentation/CoreAudioTypes/kAudioChannelLayoutTag_AudioUnit_5_0>
- <doc://com.apple.documentation/documentation/CoreAudioTypes/kAudioChannelLayoutTag_AudioUnit_6_0>
- <doc://com.apple.documentation/documentation/CoreAudioTypes/kAudioChannelLayoutTag_AudioUnit_7_0>
- <doc://com.apple.documentation/documentation/CoreAudioTypes/kAudioChannelLayoutTag_AudioUnit_7_0_Front>
- <doc://com.apple.documentation/documentation/CoreAudioTypes/kAudioChannelLayoutTag_AudioUnit_8>

## Topics

### Creating an Environment Node

[`init()`](/documentation/AVFAudio/AVAudioEnvironmentNode/init())

Creates a new environment node object.

### Getting and Setting Positional Properties

[`listenerPosition`](/documentation/AVFAudio/AVAudioEnvironmentNode/listenerPosition)

The listener’s position in the 3D environment.

[`listenerAngularOrientation`](/documentation/AVFAudio/AVAudioEnvironmentNode/listenerAngularOrientation)

The listener’s angular orientation in the environment.

[`listenerVectorOrientation`](/documentation/AVFAudio/AVAudioEnvironmentNode/listenerVectorOrientation)

The listener’s vector orientation in the environment.

### Getting Attenuation and Reverb Properties

[`distanceAttenuationParameters`](/documentation/AVFAudio/AVAudioEnvironmentNode/distanceAttenuationParameters)

The distance attenuation parameters for the environment.

[`reverbParameters`](/documentation/AVFAudio/AVAudioEnvironmentNode/reverbParameters)

The reverb parameters for the environment.

### Getting and Setting Environment Properties

[`outputVolume`](/documentation/AVFAudio/AVAudioEnvironmentNode/outputVolume)

The mixer’s output volume.

[`outputType`](/documentation/AVFAudio/AVAudioEnvironmentNode/outputType)

The type of output hardware.

### Getting the Available Rendering Algorithms

[`applicableRenderingAlgorithms`](/documentation/AVFAudio/AVAudioEnvironmentNode/applicableRenderingAlgorithms)

An array of rendering algorithms applicable to the environment node.

### Getting the Head Tracking Status

[`isListenerHeadTrackingEnabled`](/documentation/AVFAudio/AVAudioEnvironmentNode/isListenerHeadTrackingEnabled)

A Boolean value that indicates whether the listener orientation is automatically rotated based on head orientation.

### Getting the Input Bus

[`nextAvailableInputBus`](/documentation/AVFAudio/AVAudioEnvironmentNode/nextAvailableInputBus)

An unused input bus.



---

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)