---
title: AVAudioEnvironmentNode
framework: avfaudio
role: symbol
role_heading: Class
path: avfaudio/avaudioenvironmentnode
---

# AVAudioEnvironmentNode

An object that simulates a 3D audio environment.

## Declaration

```swift
class AVAudioEnvironmentNode
```

## Overview

Overview The AVAudioEnvironmentNode class is a mixer node that simulates a 3D audio environment. Any node that conforms to AVAudioMixing can act as a source node, such as 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 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 that has one of the following Audio Channel Layout Tags: kAudioChannelLayoutTag_AudioUnit_4 kAudioChannelLayoutTag_AudioUnit_5_0 kAudioChannelLayoutTag_AudioUnit_6_0 kAudioChannelLayoutTag_AudioUnit_7_0 kAudioChannelLayoutTag_AudioUnit_7_0_Front kAudioChannelLayoutTag_AudioUnit_8

## Topics

### Creating an Environment Node

- [init()](avfaudio/avaudioenvironmentnode/init().md)

### Getting and Setting Positional Properties

- [listenerPosition](avfaudio/avaudioenvironmentnode/listenerposition.md)
- [listenerAngularOrientation](avfaudio/avaudioenvironmentnode/listenerangularorientation.md)
- [listenerVectorOrientation](avfaudio/avaudioenvironmentnode/listenervectororientation.md)

### Getting Attenuation and Reverb Properties

- [distanceAttenuationParameters](avfaudio/avaudioenvironmentnode/distanceattenuationparameters.md)
- [reverbParameters](avfaudio/avaudioenvironmentnode/reverbparameters.md)

### Getting and Setting Environment Properties

- [outputVolume](avfaudio/avaudioenvironmentnode/outputvolume.md)
- [outputType](avfaudio/avaudioenvironmentnode/outputtype.md)

### Getting the Available Rendering Algorithms

- [applicableRenderingAlgorithms](avfaudio/avaudioenvironmentnode/applicablerenderingalgorithms.md)

### Getting the Head Tracking Status

- [isListenerHeadTrackingEnabled](avfaudio/avaudioenvironmentnode/islistenerheadtrackingenabled.md)

### Getting the Input Bus

- [nextAvailableInputBus](avfaudio/avaudioenvironmentnode/nextavailableinputbus.md)

## Relationships

### Inherits From

- [AVAudioNode](avfaudio/avaudionode.md)

### Conforms To

- [AVAudio3DMixing](avfaudio/avaudio3dmixing.md)
- [AVAudioMixing](avfaudio/avaudiomixing.md)
- [AVAudioStereoMixing](avfaudio/avaudiostereomixing.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Spatial audio

- [AVAudioEnvironmentDistanceAttenuationParameters](avfaudio/avaudioenvironmentdistanceattenuationparameters.md)
- [AVAudioEnvironmentReverbParameters](avfaudio/avaudioenvironmentreverbparameters.md)
- [AVAudio3DMixing](avfaudio/avaudio3dmixing.md)
- [AVAudio3DPoint](avfaudio/avaudio3dpoint.md)
- [AVAudio3DVectorOrientation](avfaudio/avaudio3dvectororientation.md)
- [AVAudio3DAngularOrientation](avfaudio/avaudio3dangularorientation.md)
- [AVAudio3DMixingSourceMode](avfaudio/avaudio3dmixingsourcemode.md)
- [AVAudio3DMixingRenderingAlgorithm](avfaudio/avaudio3dmixingrenderingalgorithm.md)
- [AVAudioEnvironmentOutputType](avfaudio/avaudioenvironmentoutputtype.md)
- [AVAudio3DMixingPointSourceInHeadMode](avfaudio/avaudio3dmixingpointsourceinheadmode.md)
- [AVAudio3DVector](avfaudio/avaudio3dvector.md)
