> For the complete documentation index, see [llms.txt](https://sonity.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sonity.gitbook.io/docs/soundcontainer/steam-audio-settings.md).

# Steam Audio Settings

SoundContainer settings for Steam Audio

### SoundContainer Steam Audio Settings

Additional settings when Steam Audio is enabled in the [SoundManager Settings](/docs/integrations/steam-audio-integration.md).

<div align="left"><img src="https://content.gitbook.com/content/ECYQ2OSoWTLdq4EUgnCW/blobs/kT5sAodFVBtyUFl8Vz4U/image3.gif" alt="" width="375"></div>

**HRTF Plugin Spatialize**\
Spatialize makes the sound be affected by Steam Audio with effects like occlusion, reflections and more.\
Disable Spatialize for 2D sounds like music etc.

{% hint style="info" %}
❕ Steam Audio Source\
This part of the text is mostly as the one from the official Valve [Steam Audio Source Component Reference](https://valvesoftware.github.io/steam-audio/doc/unity/source.html).\
I’ve added information which was missing on some parts.
{% endhint %}

**Direct Binaural**\
If checked, HRTF-based binaural rendering will be used to spatialize the source. This requires 2-channel (stereo) audio output.\
If unchecked, panning will be used to the spatialize the source using the user’s speaker layout.\
Binaural rendering provides improved spatialization at the cost of slightly increased CPU usage.

**Interpolation**\
Controls how HRTFs are interpolated when the source moves relative to the listener.\
Nearest: Uses the HRTF from the direction nearest to the direction of the source for which HRTF data is available.\
The fastest option, but can result in audible artifacts for certain kinds of audio clips, such as white noise or engine sounds.\
Bilinear: Uses an HRTF generated after interpolating from four directions nearest to the direction of the source, for which HRTF data is available.\
This may result in smoother audio for some kinds of sources when the listener looks around, but has higher CPU usage (up to 2x).

**Perspective Correction**\
If checked, perspective correction (based on the projection matrix of the current main camera) is applied to this source during spatialization.\
This can improve the perceived positional accuracy in non-VR applications. See Steam Audio Settings for more details.\
Requires Enable Perspective Correction to be checked in Steam Audio Settings.

**Distance Attenuation**\
If checked, distance attenuation will be calculated and applied to the Audio Source.\
This takes into account the Spatial Blend setting on the Audio Source, so if Spatial Blend is set to 2D, distance attenuation is effectively not applied.

<mark style="color:$info;">Distance Attenuation:</mark> **Input**\
Specifies how the distance attenuation value is determined.\
Curve Driven: Distance attenuation is controlled by the Volume curve on the Audio Source.\
Physics Based: A physics-based distance attenuation model is used.\
This is an inverse distance falloff. The curves defined on the Audio Source are ignored.

**Air Absorption**\
If checked, frequency-dependent distance based air absorption will be calculated and applied to the Audio Source.

<mark style="color:$info;">Air Absorption:</mark> **Input**\
Specifies how the air absorption values (which are 3-band EQ values) are determined.\
Simulation Defined: Uses a physics-based air absorption model.\
This is an exponential falloff, with higher frequencies falling off faster with distance than lower frequencies.\
User Defined: Uses the values specified in the Air Absorption Low, Air Absorption Mid, and Air Absorption High sliders as the EQ values.\
The air absorption value will not automatically change with distance to the source.\
You are expected to control the Air Absorption Low, Air Absorption Mid, and Air Absorption High sliders using a custom script to achieve this effect.

<mark style="color:$info;">Air Absorption:</mark> **Low**\
The low frequency (up to 800 Hz) EQ value for air absorption.\
Only used if Air Absorption Input is set to User Defined.\
0 = low frequencies are completely attenuated,\
1 = low frequencies are not attenuated at all.

<mark style="color:$info;">Air Absorption:</mark> **Mid**\
The middle frequency (800 Hz - 8 kHz) EQ value for air absorption.\
Only used if Air Absorption Input is set to User Defined.\
0 = middle frequencies are completely attenuated,\
1 = middle frequencies are not attenuated at all.

<mark style="color:$info;">Air Absorption:</mark> **High**\
The high frequency (8 kHz and above) EQ value for air absorption.\
Only used if Air Absorption Input is set to User Defined.\
0 = high frequencies are completely attenuated,\
1 = high frequencies are not attenuated at all.

**Directivity**\
If checked, attenuation based on the source’s directivity pattern and orientation will be applied to the Audio Source.

<mark style="color:$info;">Directivity:</mark> **Input**\
Specifies how the directivity attenuation value is determined.\
Simulation Defined. Uses a dipole directivity model.\
You can control the dipole shape using the Dipole Weight and Dipole Power properties.\
User Defined. Uses the value specified in the Directivity Value property.\
This value will not automatically change as the source rotates.\
You are expected to control the Directivity Value property using a custom script to achieve this effect.

<mark style="color:$info;">Directivity:</mark> **Dipole Weight**\
Blends between monopole (omnidirectional) and dipole directivity patterns.\
0 = pure monopole (sound is emitted in all directions with equal intensity),\
1 = pure dipole (sound is focused to the front and back of the source).\
At 0.5, the source has a cardioid directivity, with most of the sound emitted to the front of the source.\
Only used if Directivity Input is set to Simulation Defined.

<mark style="color:$info;">Directivity:</mark> **Dipole Power**\
Controls how focused the dipole directivity is.\
Higher values result in sharper directivity patterns.\
Only used if Directivity Input is set to Simulation Defined.

<mark style="color:$info;">Directivity:</mark> **Value**\
The directivity attenuation value.\
Only used if Directivity Input is set to User Defined.\
0 = sound is completely attenuated,\
1 = sound is not attenuated at all.

**Occlusion**\
If checked, attenuation based on the occlusion of the source by the scene geometry will be applied to the Audio Source.

<mark style="color:$info;">Occlusion:</mark> **Input**\
Specifies how the occlusion attenuation value is determined.\
Simulation Defined. Uses ray tracing to determine how much of the source is occluded.\
User Defined. Uses the Occlusion Value slider to control occlusion.\
The occlusion value will not automatically change based on surrounding geometry.\
You are expected to control the Occlusion Value slider using a custom script to achieve this effect.\
This option is intended for integrating your own occlusion model with Steam Audio.

<mark style="color:$info;">Occlusion:</mark> **Type**\
Specifies how rays should be traced to model occlusion.\
Raycast: Trace a single ray from the listener to the source. If the ray is occluded, the source is considered occluded.\
Volumetric: Trace multiple rays from the listener to the source based on the Occlusion Radius setting.\
The proportion of rays that are occluded determine how much of the direct sound is considered occluded.\
Transmission calculations, if enabled, are only applied to the occluded portion of the direct sound.

<mark style="color:$info;">Occlusion:</mark> **Radius**\
The apparent size of the sound source.\
The larger the source radius, the larger an object must be in order to fully occlude sound emitted by the source.

<mark style="color:$info;">Occlusion:</mark> **Samples**\
The number of rays to trace from the listener to various points in a sphere around the source.\
Only used if Occlusion Type is set to Volumetric.\
Increasing this number results in smoother transitions as the source becomes more (or less) occluded.\
This comes at the cost of increased CPU usage.

<mark style="color:$info;">Occlusion:</mark> **Value**\
The occlusion attenuation value.\
Only used if Occlusion Input is set to User Defined.\
0 = sound is completely attenuated,\
1 = sound is not attenuated at all.

<mark style="color:$info;">Occlusion:</mark> **Transmission**\
If checked, a filter based on the transmission of sound through occluding scene geometry will be applied to the Audio Source.

<mark style="color:$info;">Occlusion:</mark> **Type**\
Specifies how the transmission filter is applied.\
Frequency Independent. Transmission is modeled as a single attenuation factor.\
Frequency Dependent. Transmission is modeled as a 3-band EQ.

<mark style="color:$info;">Occlusion:</mark> **Input**\
Specifies how the transmission attenuation or EQ values are determined.\
Simulation Defined. Uses ray tracing to determine how much of the sound is transmitted.\
User Defined. Uses the Transmission Low, Transmission Mid, and Transmission High sliders to control transmission.\
The transmission values will not automatically change based on surrounding geometry.\
You are expected to control the sliders using a custom script to achieve this effect.\
This option is intended for integrating your own occlusion and transmission model with Steam Audio.

<mark style="color:$info;">Occlusion:</mark> **Low**\
The low frequency (up to 800 Hz) EQ value for transmission.\
Only used if Transmission Input is set to User Defined.\
0 = low frequencies are completely attenuated,\
1 = low frequencies are not attenuated at all.

<mark style="color:$info;">Occlusion:</mark> **Mid**\
The middle frequency (800 Hz to 8 kHz) EQ value for transmission.\
Only used if Transmission Input is set to User Defined.\
0 = middle frequencies are completely attenuated,\
1 = middle frequencies are not attenuated at all.

<mark style="color:$info;">Occlusion:</mark> **High**\
The high frequency (8 kHz and above) EQ value for transmission.\
Only used if Transmission Input is set to User Defined.\
0 = high frequencies are completely attenuated,\
1 = high frequencies are not attenuated at all.

<mark style="color:$info;">Occlusion:</mark> **Attenuation**\
The attenuation value for transmission.\
Only used if Transmission Input is set to User Defined.\
0 = the sound is completely attenuated,\
1 = the sound is not attenuated at all.

<mark style="color:$info;">Occlusion:</mark> **Max Surfaces**\
The maximum number of transmission surfaces, starting from the closest surface to the listener,\
whose transmission coefficients will be considered when calculating the total amount of sound transmitted.\
Increasing this value will result in more accurate results when multiple surfaces lie between the source and the listener, at the cost of increased CPU usage.

**Direct Mix**\
The contribution of the direct sound path to the overall mix for this Audio Source.\
Lower values reduce the contribution more.

**Reflections**\
If checked, reflections reaching the listener from the source will be simulated and applied to the Audio Source.

<mark style="color:$info;">Reflections:</mark> **Type**\
Specifies how reflections should be simulated for this source.\
Realtime. Rays are traced in real-time, and bounced around the scene to simulate sound reflecting from the source and reaching the listener.\
This allows for smooth variations, and reflections off of dynamic geometry, at the cost of significant CPU usage.\
Baked Static Source. The source is assumed to be static, and the listener position is used to interpolate reflected sound from baked data.\
This results in relatively low CPU usage, but cannot model reflections off of dynamic geometry, and requires more memory and disk space.\
Baked Static Listener. The listener is assumed to be static, and the source position is used to interpolate reflected sound from baked data.\
This results in relatively low CPU usage, but cannot model reflections off of dynamic geometry, and requires more memory and disk spa&#x63;***Use Distance Curve***\
Is shown when distance attenuation is enabled and is set to curve driven.

<mark style="color:$info;">Reflections:</mark> **Baked Source**\
If Reflections Type is set to Baked Static Source, the position and orientation of the GameObject specified in this field will be used as the position and orientation of the source.

<mark style="color:$info;">Reflections:</mark> **Apply HRTF**\
If checked, applies HRTF-based 3D audio rendering to reflections.\
Results in an improvement in spatialization quality when using convolution or hybrid reverb, at the cost of slightly increased CPU usage. Default: off.\
Warning, this might introduce distortions for louder sounds.

<mark style="color:$info;">Reflections:</mark> **Mix Level**\
The contribution of reflections to the overall mix for this Audio Source.\
Lower values reduce the contribution more.

**Pathing**\
If checked, shortest paths taken by sound as it propagates from the source to the listener will be simulated,\
and appropriate spatialization will be applied to the Audio Source for these indirect paths.

<mark style="color:$info;">Pathing:</mark> **Probe Batch**\
When simulating pathing, the baked data stored in this probe batch will be used to look up paths from the source to the listener.

<mark style="color:$info;">Pathing:</mark> **Validation**\
If checked, each baked path from the source to the listener is checked in real-time to see if it is occluded by dynamic geometry.\
If so, the path is not rendered.

<mark style="color:$info;">Pathing:</mark> **Find Alternate**\
If checked, if a baked path from the source to the listener is found to be occluded by dynamic geometry,\
alternate paths are searched for in real-time, which account for the dynamic geometry.

<mark style="color:$info;">Pathing:</mark> **Apply HRTF**\
If checked, applies HRTF-based 3D audio rendering to pathing.\
Results in an improvement in spatialization quality, at the cost of slightly increased CPU usage. Default: off.

<mark style="color:$info;">Pathing:</mark> **Mix Level**\
The contribution of pathing to the overall mix for this Audio Source.\
Lower values reduce the contribution more.
