> 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/soundmanager.md).

# SoundManager

A SoundManager is required in the scene to play SoundEvents

### SoundManager Component

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2Fme5W7oogOoRtBylGT8KC%2FSoundManager%20Component.png?alt=media&amp;token=6203116c-bbaf-4c9c-b404-cf9d24c94b2f" alt="" width="334"></div>

The [SoundManager](/docs/soundmanager.md) is the master object which is used to play sounds and manage global settings.\
An instance of this object is required in the scene in order to play [SoundEvents](/docs/soundevent.md).\
You can add the pre-made prefab called “SoundManager” found in “Assets\Plugins\Sonity\Prefabs” to the scene.\
Or you can add the “Sonity - Sound Manager” component to an empty GameObject in the scene, it works just as well.

{% hint style="info" %}
💡 TIP -  Play On Awake\
If you need to play [SoundEvents](/docs/soundevent.md) on Awake() when starting your game you need to edit the Script Execution Order.\
Go to "Project Settings..." -> "Script Execution Order" and add "Sonity.SoundManager".\
Then set it to a negative value (like -50) so it loads before the code which you want to use Awake() to play sounds when starting your game.
{% endhint %}

## Settings

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FHl9utzt3ehYLC053NRvD%2FSoundManager%20Settings.png?alt=media&amp;token=f0d2448c-0bad-4453-8c89-a30064beaaae" alt="" width="501"></div>

**Enable Volume Increase**\
If enabled you get the ability to raise the volume of [SoundContainers](/docs/soundcontainer.md) and [SoundEvents](/docs/soundevent.md) by +24dB each and [SoundVolumeGroups](/docs/soundvolumegroup.md) by +12dB.\
This is done by increasing the AudioListener.volume +60dB and reducing the volume of the AudioSource to compensate.\
Note that all other non-Sonity AudioSources will also be affected, you can avoid this by enabling AudioSource.ignoreListenerVolume.\
For volume increase to work, you need to set the Scripting Define Symbol "SONITY\_ENABLE\_VOLUME\_INCREASE".\
This can be done by pressing the button below (make sure all platforms has this scripting define symbol).\
You also need to have a [SoundManager](/docs/soundmanager.md) in your scene for volume increase to work when previewing and ingame.\
The free trial version of Sonity doesn’t support this feature because it uses Scripting Define Symbols.

**Global Volume**\
Sets the global volume using AudioListener.volume.\
Note that because AudioListener.volume is used, all other non-Sonity AudioSources will also be affected.\
This can be remedied with using AudioSource.ignoreListenerVolume.\
Can be set with SetGlobalVolumeDecibel() and SetGlobalVolumeRatio() in the [SoundManager](/docs/soundmanager.md).

**Global Pause**\
Pauses or unpauses all sound using AudioListener.pause.\
Except the [SoundEvents](/docs/soundevent.md) which are set to "Ignore Global Pause".\
Note that because AudioListener.pause is used, all other non-Sonity AudioSources will also be paused.\
This can be remedied with using AudioSource.ignoreListenerPause.\
Can be set with SetGlobalPause() and SetGlobalUnpause() in the SoundManager."

**Distance Scale**\
Global range scale multiplier for all the sounds in Sonity.\
Distance is calculated by Unity units of distance.\
E.g. if Distance Scale is set to 100, a [SoundEvent](/docs/soundevent.md) with the distance multiplier of 1 will be heard up to 100 Unity units away.

**Global SoundTags**\
The current Global [SoundTags](/docs/soundtag.md).\
They will affect what [SoundEvents](/docs/soundevent.md) using global [SoundTags](/docs/soundtag.md) are playing.\
This way you can change one Global [SoundTag](/docs/soundtag.md) and it will change all the [SoundEvents](/docs/soundevent.md) in the project.\
Useful for controlling e.g:\
Gun reflection/reverb layers - based on the area the player is in (indoor/outdoor etc).\
Misophony mode - replacing eating/drinkings sound with less offensive sounds.

#### Integrations

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FtkThOM3REhOQVfkM80Wt%2FIntegrations.png?alt=media&amp;token=ec3811b6-16bf-41b8-9521-85dd40c57eb6" alt="" width="473"></div>

### Steam Audio Integration

Enables the integration between Sonity and the third party asset Steam Audio.

#### [Read more about the Steam Audio Sonity Integration here](/docs/integrations/steam-audio-integration.md)

**Spatialize On Default**\
Makes HRTF Plugin Spatialize in the [SoundContainer Settings](/docs/soundcontainer.md#steam-audio-settings) be enabled by default when creating new assets.\
Spatialize makes the sound be affected by Steam Audio with effects like occlusion, reflections and more.\
Disable Spatialize for 2D sounds like music etc.

### PlayMaker Integration

Enables the integration between Sonity and the third party asset PlayMaker by adding custom Sonity actions.

#### [Read more about the PlayMaker Sonity Integration here](/docs/integrations/playmaker-integration.md)

### Advanced Settings <a href="#docs-internal-guid-dcaf7a58-7fff-9584-39bc-aabab3d35a26" id="docs-internal-guid-dcaf7a58-7fff-9584-39bc-aabab3d35a26"></a>

**Use DontDestroyOnLoad()**\
Calls DontDestroyOnLoad() at Start for Sonity objects.\
Which makes them persistent when switching scenes.\
For this to work the parent is set to null, which can move the objects.

**Sound Time Scale**\
Change the Time Scale used for sound related calculations ingame.\
When the game is not playing in the editor, only Time.realtimeSinceStartup can be used (for preview, etc).\
The Time Scale is used to calculate:

* [Modifier](/docs/modifiers.md) Delay
* [Modifier](/docs/modifiers.md) Fade In/Out Length
* [SoundEvent](/docs/soundevent.md) Timeline Delay
* [SoundEvent](/docs/soundevent.md) Cooldown Time
* [SoundEvent](/docs/soundevent.md) Intensity Seek Time
* [SoundContainer](/docs/soundcontainer.md) Prevent End Clicks Fade
* [SoundParameter](/docs/soundparameter.md) Delay
* [SoundManager](/docs/soundmanager.md) Speed of Sound Delay
* [SoundManager](/docs/soundmanager.md) Voice Disable Time
* [SoundManager](/docs/soundmanager.md) SoundEvent Debug Live Fade

**Override Listener Distance**\
If enabled an [AudioListenerDistance](#audiolistenerdistance-component) component is required in the scene.\
The position of the [AudioListenerDistance](#audiolistenerdistance-component) component will determine all distance based calculations (like volume falloff).\
While the AudioListener position will be used for spatialization and Angle to Stereo Pan calculations.

Example of usage in a 3rd person or top down game:\
Enable "Override Listener Distance" in the [SoundManager](/docs/soundmanager.md).\
Put the AudioListener on the main camera and the [AudioListenerDistance](#audiolistenerdistance-component) on the player character.\
Try changing the Amount slider to find a nice balance between the different positions.

<mark style="color:$primary;">Override Listener Distance:</mark> **Amount %**\
How much weight the [AudioListenerDistance](#audiolistenerdistance-component) position has over the AudioListener position.\
The position is linearly interpolated between the two of them.\
100% is at the [AudioListenerDistance](#audiolistenerdistance-component) component position.\
50% is halfway between them.\
0% is at the AudioListener position.

**Enable Speed of Sound**\
Speed of sound is a delay based on the distance between the AudioListener and a [SoundEvent](/docs/soundevent.md).

<mark style="color:$info;">Enable Speed of Sound:</mark> **Speed of Sound Scale**\
Global speed of sound delay scale multiplier.\
1 equals 430 Unity units per second.\
Is calculated using the time scale selected in the [SoundManager](/docs/soundmanager.md).

**Addressable AudioMixer**\
If enabled, all AudioMixer references in all [SoundEvents](/docs/soundevent.md) and [SoundContainers](/docs/soundcontainer.md) to the selected addressable AudioMixer Reference Asset.\
This is to fix problems when the AudioMixer is an addressable asset because it might create both a normal and an addressable instance with different IDs.\
Note that when using an addressable AudioMixer you should also enable Async Startup to increase startup speed.\
The AudioMixerGroups are matched using FindMatchingGroups using the name of the AudioMixerGroup, so you have to name your groups to something unique.\
For builds the AudioMixerGroups are cached and wont be updated once the sound has been played.\
When using AudioMixer.SetFloat() etc you need to access this specific AudioMixer instance by using "SoundManager.Instance.GetAddressableAudioMixer();"\
For addressable AudioMixer to work, you need to add the package "com.unity.addressables".\
You also need to define the Script Define Symbol "SONITY\_ENABLE\_ADDRESSABLE\_AUDIOMIXER".\
Asmdef\_Sonity.Internal.Runtime references Unity.Addressables and Unity.ResourceManager.\
Asmdef\_Sonity.Internal.Editor references Unity.Addressables.\
The free trial version of Sonity doesn’t support this feature because it uses Scripting Define Symbols.

<mark style="color:$info;">Addressable AudioMixer:</mark> **AudioMixer Reference**\
Assign the AudioMixer reference here, it will be automatically loaded.\
Only one AudioMixer per project is supported with this feature.

<mark style="color:$info;">Addressable AudioMixer:</mark> **Async Load In Editor**\
Enables async loading of the addressable AudioMixer in the editor.\
Having it disabled is useful for testing in the editor when you need to access the AudioMixer or play sounds on Awake before async loading is finished.

**Async Startup**\
Makes Sonity initialize using an async loading method.\
This is useful for when you use the addressable AudioMixer to speed up load times.\
Or when using Steam Audio and you want to preload voices.

**Debug Warnings**\
Makes Sonity output Debug Warnings if anything is wrong.

<mark style="color:$info;">Debug Warnings:</mark> **Debug in Play Mode**\
Makes Sonity output Debug Warnings if anything is wrong in Play Mode.

**GUI Warnings**\
Makes Sonity show GUI Warnings if anything is wrong in the editor.

**Disable Playing Sounds**\
Disables all the Play functionality.\
Useful if you've for example implemented temp sounds and don't want everyone else to hear them.

### **Performance Settings**

**PlayOneShot Optimize**\
If enabled then then Sonity will try to play Voices with PlayOneShot() instead of Play().

Some features are disabled when using PlayOneShot, like:\
SoundContainer PreventEndClicks\
SoundEvent.GetLastPlayedClipTimeSeconds()\
SoundEvent.GetLastPlayedClipTimeRatio()

But it will increase performance, so it might be useful for low-end platforms.

If disabled in the SoundContainer, PlayOneShot will not be used.\
Which is useful if you need get etc AudioSource.time from oneshots etc.

It is used under certain conditions and is evaluated in this order:\
Skipped if: Loop is enabled\
Skipped if: Trigger On Tail is enabled\
Skipped if: Random Start Position is enabled\
Skipped if: Start Postion is more than 0 (which it also is when playing reversed)\
Enabled if: Distance is disabled and Spatial Blend is 0\
Enabled if: Force 2D is enabled\
Skipped if: Follow Position is enabled, in the SoundContainer or Parameters\
Enabled if: None of the above is triggered

**Manual Update**\
If enabled then the SoundManagers MonoBehaviour Update() will be replaced with ManualUpdate().\
This way Sonity won't automatically update every frame.\
You need to call SoundManager.Instance.ManualUpdate() manually.\
Giving you full control how often and when in the frame the SoundManager should update.\
Requires the script define symbol "SONITY\_ENABLE\_SOUNDMANAGER\_MANUAL\_UPDATE".

**Voice Limit**\
Maximum number of Voices.\
If the limit is reached it will steal the Voice with the lowest priority.\
If you need extra performance, you could try lowering the real and virtual voices to a lower number.\
Voice Limit cannot be lower than Voice Preload.

**Max Real Voices:**\
The maximum number of real (heard) AudioSources that can be played at the same time.\
"Real Voices" should be the same as the "Voice Limit", or more if you play other sounds outside of Sonity.

**Max Virtual Voices:**\
The maximum number of virtual (not heard) AudioSources that can be played at the same time.\
This should always be more than the number of real voices.\
You can change these values manually in:\
"Edit" > "Project Settings" > "Audio"

**Apply to Project Audio Settings**\
Applies the Voice Limit to the Project Audio Settings.\
Sets "Real Voices" to the "Voice Limit".\
You can change these values manually in:\
"Edit" > "Project Settings" > "Audio"

**Voice Preload**\
How many Voices to preload on Awake().\
Voice Limit cannot be lower than Voice Preload.

**Voice Disable Time**\
How long in seconds to wait before disabling a Voice when they've stopped playing.\
Retriggering a voice which is not disabled is more performant than retriggering a voice which is disabled.\
But having a lot of voices enabled which aren't used is also not good for performance, so don't set this value too high.\
Is calculated using the time scale selected in the [SoundManager](/docs/soundmanager.md).

**Voice Effect Limit**\
Maximum number of Voice Effects which can be used at the same time.\
A Voice with any combination of waveshaper/lowpass/highpass counts as one Voice Effect.\
If the values of a Voice Effect doesn't have any effect it is disabled automatically (e.g. distortion amount is 0).\
If the Voice Effect limit is reached, the Voice Effects are prioritized by the Voices with the highest volume \* priority.\
Watch out for high load on the audio thread if set too high.\
Try setting the buffer size to "Best Performance" in "Edit" > "Project Settings" > "Audio" if you want to run more Voice Effects.

**Disable Voice Effects**\
If disabled then any Voice Effects (lowpass/highpass/distortion) will not have any affect.\
It removes the Voice Effect components this makes Sonity not use OnAudioFilterRead() at all.\
This is useful for saving performance on low end systems (like the Nintendo Switch 1).\
To enable this behaviour you need to add the script define symbol: \
"SONITY\_DISABLE\_VOICE\_EFFECTS"\
You can also override this per platform with the script define symbol. \
This also applies to the editor sound preview.

## Debug

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FGXEqXAPr2jIMMbllM7cF%2FSoundManager%20Debug.png?alt=media&amp;token=76bb529e-4715-4360-9b8f-95c5ce108aa8" alt="" width="488"></div>

**Audio Listener**\
Here you can see and select the currently cached AudioListener in runtime.\
If you click on the field your selection will show you the currently used AudioListener.\
The AudioListener component is found and cached automatically and cannot be assigned here.

**Audio Listener Distance**\
Here you can see and select the currently cached [AudioListenerDistance](#audiolistenerdistance-component) in runtime.\
If you click on the field your selection will show you the currently used [AudioListenerDistance](#audiolistenerdistance-component).\
The [AudioListenerDistance](#audiolistenerdistance-component) component is found and cached automatically and cannot be assigned here.\
Is only shown if “Override Listener Distance” is enabled.

**Local - Enable/Disable All Debug**\
Uses the EditorPrefs to save the value instead of in the SoundManager component.\
This is useful because EditorPrefs are local settings stored locally per computer.\
Which means that you can't accidentally commit Debug Enable to the version control.\
The default value is false, so it won't debug for others unless "Force Debug" is enabled.\
Because the setting set with EditorPrefs it will be the same in all Sonity projects on the same computer.

**Override Local Debug**\
Uses the EditorPrefs to save the value instead of in the SoundManager component.\
This is useful because EditorPrefs are local settings stored locally per computer.\
Which means that you can't accidentally commit Debug Enable to the version control.\
The default value is false, so it won't debug for others unless "Force Debug" is enabled.\
Because the setting set with EditorPrefs it will be the same in all Sonity projects on the same computer.

### Log SoundEvents

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2F7SH3wlMcwmODxUffGWUB%2FSoundManager%20Log%20SoundEvents.png?alt=media&amp;token=4da85e72-d2e4-4d56-ac4b-89a56cfad58f" alt="" width="475"></div>

When enabled [SoundEvent](/docs/soundevent.md) actions will be logged to the console.\
This is useful to debug what happens with [SoundEvents](/docs/soundevent.md) during runtime.\
It also enables you to see where in the code the [SoundEvent](/docs/soundevent.md) is played/stopped from if you enable Stack Tracke Logging “Script Only”.

**To Console**\
If enabled it will log [SoundEvent](/docs/soundevent.md) actions to the console.

Example:

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FegslZ2FurEVN2aLuEmPC%2FSoundManager%20Log%20SoundEvents%20Example.png?alt=media&amp;token=4ffc10dd-8315-4e98-9846-620293a3ca95" alt="" width="563"></div>

{% hint style="info" %}
❕ Tip: As you can see in the bottom you can also see where the [SoundEvent](/docs/soundevent.md) is played in code.
{% endhint %}

**Debug Log Type**\
Select which kind of Debug.Log you want to use.\
Switch between either Debug.Log, Debug.LogWarning or Debug.LogError.

#### **Click On Log Selects**

If you click the log in the console, you will be redirected to one of either object:

**Owner**\
Selects the owner transform which is used to play the [SoundEvent](/docs/soundevent.md).

**Position**\
Selects the transform position which is used to play the [SoundEvent](/docs/soundevent.md) if its played with PlayAtPosition with a Transform.

**SoundEvent**\
Selects the [SoundEvent](/docs/soundevent.md) which is logged.

If an Owner or Position can't be found (for example when logging stop etc) it will redirect to the [SoundEvent](/docs/soundevent.md) instead.

#### **Log Settings**

Opens a dropdown menu where you can select which events should be logged.

**SoundEvent Play**\
Logs when a [SoundEvent](/docs/soundevent.md) is played.

**SoundEvent Stop**\
Logs when a [SoundEvent](/docs/soundevent.md) is stopped with a stop command.

**SoundEvent Pool**\
Logs when a [SoundEvent](/docs/soundevent.md) is pooled after its stopped.

**SoundEvent Pause**\
Logs when a [SoundEvent](/docs/soundevent.md) is paused.

**SoundEvent Unpause**\
Logs when a [SoundEvent](/docs/soundevent.md) is unpaused.

**SoundEvent Global Pause**\
Logs when a [SoundEvent](/docs/soundevent.md) is paused using global pause.

**SoundEvent Global Unpause**\
Logs when a [SoundEvent](/docs/soundevent.md) is unpaused using global unpause.

**SoundParameters Once**\
Logs any [SoundParameter](/docs/soundparameter.md) set to UpdateMode Once passed when playing a [SoundEvent](/docs/soundevent.md).

**SoundParameters Continuous**\
Logs any [SoundParameter](/docs/soundparameter.md) set to UpdateMode Continuous on an active [SoundEvent](/docs/soundevent.md).

### Draw SoundEvents

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FlujDqRDtS9bpF76iVYUC%2FSoundManager%20Draw%20SoundEvents.png?alt=media&amp;token=a503064e-3a3b-4ebf-b942-2d5ec169dec6" alt="" width="477"></div>

Draws the names of all currently playing [SoundEvent](/docs/soundevent.md) in the scene and/or game view.\
Useful for debugging when you want to see what is playing and where.

**In Scene View**\
Draws debug names in the Unity scene view.\
Doesn't work in Unity versions older than 2019.1.

Example:

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FDRF6CWAuglwx9BaXWZqV%2FSoundManager%20Draw%20SoundEvents%20Example%20In%20Game%20View.gif?alt=media&amp;token=9ab086ac-cd8e-4c5e-826c-6b891117ac19" alt="" width="563"></div>

**In Game View**\
Draws debug names in the Unity game view.\
Only applied in the Unity editor.

Example:

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FiFqiR5V9CuHG8AZEbHcd%2FSoundManager%20Draw%20SoundEvents%20Example%20In%20Scene%20View.gif?alt=media&amp;token=6e51e2c3-6857-46d7-99a8-9860081585ce" alt="" width="563"></div>

**Hide if Closer Than**\
Hides the debug if its closer to the camera than the allowed value in Game view.\
Useful for hiding [SoundEvents](/docs/soundevent.md) which are played on the camera which you don't want to see.

#### **Style**

**Font Size**\
The font size of the text.

**Volume to Opacity**\
How much of the volume of the [SoundEvent](/docs/soundevent.md) will be applied to the transparency of the text.\
E.g lower volumes will be more transparent.

**Lifetime to Opacity**\
How much the lifetime of the [SoundEvent](/docs/soundevent.md) will affect the transparency of the text.

**Lifetime Fade Length**\
How long the fade should be.\
Is calculated using the time scale selected in the [SoundManager](/docs/soundmanager.md).

**Start Color**\
The color the text should have when it starts playing.

**End Color**\
Which color the text should fade to over the lifetime.\
The color of the text outline.

## Statistics

<div align="left"><figure><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FIBltMp5BwPSegMkcDrff%2FSoundManager%20Statistics.png?alt=media&amp;token=aa3276f9-70d9-4610-82cf-9aef3e6bc4e3" alt="" width="503"><figcaption></figcaption></figure></div>

#### **SoundEvents**

[SoundEvent](/docs/soundevent.md) Instance Statistics.

**Active**\
The number of active [SoundEvent](/docs/soundevent.md) Instances.

**Inactive**\
The number of inactive [SoundEvent](/docs/soundevent.md) Instances.

**Total**\
The total number of created [SoundEvent](/docs/soundevent.md) Instances.

#### **Voices**

Statistics of Voices

**Active**\
The number of Voices playing audio.

**Inactive**\
The number of inactive Voices.

**Total**\
The number of created Voices.

**Paused**\
The number of waiting or paused Voices in the pool.\
(It is more efficient to pause voices instead of stopping them directly)

**Stopped**\
The number of stopped Voices in the pool.

**Stolen**\
The number of stolen Voices since start.

**Played**\
The number of played Voices since start.

**Max Simultaneous**\
The maximum number of simultaneously playing Voices since start.

#### **Voice Effects**

Statistics of Voice Effects.\
A Voice with any combination of waveshaper/lowpass/highpass counts as one Voice Effect.

**Active**\
The number of active Voice Effects.

**Available**\
How many Voice Effects are available.

**Total**\
How many Voice Effects can exist simultaneously.

#### Statistics Instances

<div align="left"><img src="https://3478075546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FECYQ2OSoWTLdq4EUgnCW%2Fuploads%2FvfaDZOaKg2YutceIulON%2FStatistics%20Instances.png?alt=media&amp;token=2d4147b8-a18a-429a-835b-dc12095a852c" alt="" width="491"></div>

Real-time statistics per [SoundEvent](/docs/soundevent.md) Instance.\
Available in Playmode.

#### **Sort By**

Which method to sort the list of [SoundEvent](/docs/soundevent.md) Instances.

**Name**\
Sorts by alphabetical order

**Voices**\
Sorts by voice count

**Plays**\
Sorts by number of plays

**Volume**\
Sorts by volume

**Time**\
Sorts by last time played

#### **Show**

Toggle what information to show about the [SoundEvent](/docs/soundevent.md) Instances.

**Active**\
How many are currently active.

**Disabled**\
How many are currently disabled.

**Voices**\
How many voices are currently used.

**Plays**\
The number of total plays.

**Volume**\
The current average volume.

## Editor Tools

<div align="left"><img src="https://content.gitbook.com/content/ECYQ2OSoWTLdq4EUgnCW/blobs/3pnYfJYAYKVXHGlT98YW/image15.png" alt="" width="375"></div>

This is a collection of nifty editor tools which you can use to speed up your workflow.\
They are enabled with the use of “Script Define Symbols” in:\
Project Settings → Player → Other Settings → Script Compilation → Script Define Symbols.\
This way they can be bound to default hotkeys and they won’t hog up your toolbars if you don’t use them.

You can read more about them here:

#### [Editor Tool - Reference Finder](/docs/soundmanager/editor-tools.md#editor-tool-reference-finder)

#### [Editor Tool - Select Same Type](/docs/soundmanager/editor-tools.md#editor-tool-select-same-type)

#### [Editor Tool - Selection History](/docs/soundmanager/editor-tools.md#editor-tool-selection-history)

## Audio Listener Distance Component

If “Override Listener Distance” is enabled in the [SoundManager Settings](/docs/soundmanager.md#settings) this is a required component in the scene.\
The position of the [AudioListenerDistance](#audiolistenerdistance-component) component will determine all distance based calculations (like volume falloff).\
While the AudioListener position will be used for spatialization and Angle to Stereo Pan calculations.

Example of usage in a 3rd person or top down game:\
Enable "Override Listener Distance" in the [SoundManager](/docs/soundmanager.md).\
Put the AudioListener on the main camera and the [AudioListenerDistance](#audiolistenerdistance-component) on the player character.\
Try changing the Amount slider to find a nice balance between the different positions.
