Audio Console Commands

A reference for console commands that can be used with the Unreal Audio Engine

Windows
MacOS
Linux

When debugging games or other projects in Unreal Engine, it can be helpful to send commands to your game or the editor directly while it is running. This is especially true for audio. If you are trying to trace a bug that only occurs in narrow or unknown circumstances, console commands can help by enabling or disabling specific functionalities, or by altering a significant parameter in real time.

How to Use the Console

Open the command console by pressing the tilde key ( ~ ) on the keyboard. Note that on British English keyboards, the key used is the grave key ( ` ).

Press the tilde or grave key to open the command console.

If the tilde key does not open the console, or if you want to use a different key, you can change your keyboard bindings by going to Project Settings > Engine > Input > Console Keys.

When using the console commands, you may also want to open the Output Log. This can be set at Window > Developer Tools > Output Log.

Most audio console commands involve setting a given console variable (CVar) to a desired value, through the syntax [CVar name] [Value].

For example, to debug a sound mix, you would set the CVar au.Debug.SoundMixes to true using the command au.Debug.SoundMixes 1 in the console, where 1=true.

You can also find more information about the usage of a given CVar by entering the command [CVar name ?].

Commands that you type into the console will affect your editor in real time. Console commands can be executed from within the game, from within the editor, or, if the game has been started, by using the -server switch from the server's console.

Common Audio CVars and Use Cases

Console commands and CVars that are audio specific begin with au., with the exception of a handful of older functions. Because the console supports autosuggestion, you can get a list of available commands by typing au. in the console and scrolling through the listed commands.

  • au.Debug.SoundMixes—This variable, when set to 1, provides information on the currently active sound class mixes. As sound mixes are objects that can impact many sounds in the level at once, glitches with them can be hard to trace. By displaying information on sound mixes, it is easy to tell if any unexpected sound mixes are getting triggered, a sound mix is failing to be pushed and popped off the sound mix modifiers list as expected, or multiple instances of the same mix being active simultaneously. This is often a good first step if attempting to debug a situation such as a single class of sounds suddenly becoming inaudible.

  • au.DumpActiveSounds—When set to 1, This variable provides a list of all sounds currently playing. You can use this to narrow down possible sources of errors for issues that sound identical to the human ear, but have different causes. For example, if a sound can no longer be heard, dumping active sounds can clarify whether it is an issue of a sound not being played or if the sound is playing at an inaudibly low level. Similarly, it can help distinguish between loud sounds that are the result of volume modifiers set to unreasonable volumes, and loud sounds that are the result of multiple instances of the same sound playing simultaneously which you might perceive as one very loud sound.

  • AudioMemReport—Type the AudioMemReport command without a value (not required) to generate a detailed document on the memory usage of active sound objects. This is useful for tracking down unexpectedly large amounts of memory usage in the audio system. It is also useful for general audio optimization.

Audio Console Commands

Use the commands below to debug the Unreal Audio Engine. Where applicable, the table also indicates the deprecated command that a new command has replaced.

In most instances, enablement and disablement can be set with 1 or 0, on or off, or true or false (on/off and true/false are case sensitive).

The thing to keep in mind is that if 0 = false (disabled) and 1 = true (enabled), then with a command like au.DisableDeviceSwap, where the action of the command is to disable, then the true setting would be the enabling of the action of disabling. This means that to turn this feature on, you would enter au.DisableDeviceSwap 1.

Command

Description/Comments

Arguments

au.3dVisualize.ActiveSounds

Visualization mode for active sounds.

0: Disable, 1: Volume (Lin), 2: Volume (dB), 3: Distance, 4: Random color

au.3dVisualize.ActiveSounds.Type

Type of sound where audio visualization is applied.

0: All, 1: Components only, 2: Non-components only

au.3dVisualize.Enabled

Audio visualization

0: Disable, 1: Enable

au.3dVisualize.Listeners

Whether listeners are visible when 3D visualization is enabled.

0: Disable, 1: Enable

au.3dVisualize.SpatialSources

Whether audio-spatialized sources are visible when 3D visualization is enabled.

0: Disable, 1: Enable

au.3dVisualize.VirtualLoops

Whether virtualized loops are visible when 3D visualization is enabled.

0: Disable, 1: Enable

au.adpcm.ADPCMReadFailureTimeout

Sets the number of ADPCM decode attempts before stopping the sound wave altogether.

Value: # of attempts

au.adpcm.DisableSeeking

Disables seeking with ADPCM.

1: Disable the seek

au.AllowAudioSpatialization

Allows spatialization of audio. This is normally enabled. If disabled, all audio will not be spatialized, but will have attenuation.

0: Disable, >0: Enable

au.AllowInitOnAudioRenderThread

When enabled, will initialize the submix on the audio render thread.

0: Disable, 1: Enable

au.AllowReverbForMultichannelSources

Allows Reverb processing for sources with channel counts >2.

0: Disable, >0: Enable

au.AnalysisTimeShift

Shifts the timeline for baked analysis playback.

Value: # of seconds timeline should shift

au.BakedAnalysisEnabled

Enables or disables queries to baked analysis from audio components.

0: Disable, 1: Enable

au.BypassAudioPlugins

Bypasses any audio plugin processing.

0: Enable, 1: Disable audio plugin processing

au.BypassPlayWhenSilent

When set to 1, ignores the Play When Silent flag for non-procedural sources.

0: Honor the Play When Silent flag, 1: Stop all silent non-procedural sources

au.ClearMutesAndSolos

Clears any solo or muted sounds.

0: Disable, 1: Enable

au.CommandBufferFlushWaitTimeMs

How long to wait for the command buffer flush to complete.

Value: # of milliseconds

au.Debug.Display.X

Sets initial X position when rendering debug text to viewport.

Default = 100

au.Debug.Display.Y

Sets initial Y position when rendering debug text to viewport.

Default: -1

au.Debug.SoundCues

Posts SoundCue information to viewport(s). Replaces deprecated command stat soundcues.

0: Disable, 1: Enable, Optional: -AllViews (enable/disable for all viewports, not just those associated with current world)

au.Debug.SoundCues.Minimal

Uses the compact view of sound cue debug when enabled.

0: Disable, 1: Enable

au.Debug.Soundcues.ShowPath

Displays the full path of sound cue when enabled.

0: Disable, 1: Enable

au.Debug.SoundCues.Spacing.Char

Size of character (in pixels) with compact view.

Default: 7

au.Debug.SoundCues.Spacing.Tab

Size of tab (in characters) with compact view.

Default: 5

au.Debug.SoundMixes

Posts SoundMix information to viewport(s). Replaces deprecated command stat soundmixes.

0: Disable, 1: Enable, Optional: -AllViews (enable/disable for all viewports, not just those associated with current world)

au.Debug.SoundModulators

Posts SoundModulation information to viewport(s). Replaces deprecated command stat soundmodulators.

0: Disable, 1: Enable, Optional: -AllViews (enable/disable for all viewports, not just those associated with current world)

au.Debug.SoundReverb

Posts SoundReverb information to viewport(s). Replaces deprecated command stat soundreverb.

0: Disable, 1: Enable, Optional: -AllViews (enable/disable for all viewports, not just those associated with current world)

au.Debug.Sounds

Posts SoundWave information to viewport(s). Replaces deprecated command stat sounds.

0: Disable, 1: Enable, Optional: -AllViews (enable/disable for all viewports, not just those associated with current world)

au.Debug.Sounds.Max

Maximum number of sounds to display in full sound debugger view.

Default: 32

au.Debug.Sounds.ShowPath

Displays full path of sound when enabled in sound debugger list.

0: Disable, 1: Enable

au.Debug.Sounds.Sort

Value to sort by and display when sound stats are active.

Value: Class, Distance, Name (default), Priority (highest of wave instances per sound), Time, Waves, Volume

au.Debug.Sounds.TextColor

Color of body text in audio debug views.

Value: White, Red, Orange, Yellow, Blue, Magenta, Purple, Black

au.Debug.SoundWaves

Post SoundWave information to viewport(s). Replaces deprecated command stat soundwaves.

0: Disable, 1: Enable, Optional: -AllViews (enable/disable for all viewports, not just those associated with current world)

au.DecompressionThreshold

If non-zero, overrides the decompression threshold set in either the sound group or the platform's runtime settings.

Value: Maximum duration in seconds to fully decompress

au.DefaultModulationPlugin

Name of default modulation plugin to load and use (overridden by platform-specific implementation name in config).

N/A

au.DisableAppVolume

Ignores external volume change commands when set to 1.

0: Restore app volume, 1: Disable app volume

au.DisableAutomaticPrecache

When set to 1, this disables precaching on load or startup, and will only precache synchronously when playing.

0: Use normal precaching logic, 1: Disable all precaching except synchronous calls

au.DisableBinauralSpatialization

Disables binaural spatialization.

0: Disable, 1: Enable

au.DisableDeviceSwap

Disables device swap handling code for Audio Mixer on Windows.

0: Disable, 1: Enable

au.DisableDistanceAttenuation

Disables using any Distance Attenuation.

0: Disable, 1: Enable

au.DisableEnvelopeFollowing

Disables using the envelope follower for source envelope tracking.

0: Disable, 1: Enable

au.DisableFiltering

Disables using the per-source lowpass and highpass filter.

0: Disable, 1: Enable

au.DisableHPFiltering

Disables using the per-source high pass filter.

0: Disable, 1: Enable

au.DisableLegacyReverb

Disables reverb on legacy audio backends.

0: Disable, 1: Enable

au.DisableParallelSourceProcessing

Disables using async tasks for processing sources.

0: Disable, 1: Enable

au.DisableQuadReverb

Disables quad reverb in surround.

0: Disable, 1: Enable

au.DisableQuadReverbLegacy

Disables quad reverb in surround.

0: Disable, 1: Enable

au.DisableReverbSubmix

Disables the reverb submix.

0: Disable, 1: Enable

au.DisableReverbSubmixLegacy

Disables the reverb submix.

0: Disable, 1: Enable

au.DisableSourceEffects

Disables using any source effects.

0: Disable, 1: Enable

au.DisableStereoSpread

When enabled, ignores the 3D Stereo Spread property in attenuation settings, and instead renders audio from a singular point.

0: Disable, 1: Enable

au.DisableStoppingVoices

Disables the Stopping Voices feature.

0: Disable, 1: Enable

au.DisableSubmixEffectEQ

Disables the EQ submix.

0: Disable, 1: Enable

au.dsp.FFTMethod

Determines whether to use an iterative FFT or a DFT method.

0: Use Iterative FFT, 1: Use DFT

au.DumpActiveSounds

Outputs data about all currently active sounds to the log.

N/A

au.editor.CookOverrideCachingInterval

Sets the maximum latency between when a cook override is changed in the project settings and when it is applied to new audio sources.

Value: Time in seconds between caching intervals

au.EnableBinauralAudioForAllSpatialSounds

Toggles binaural audio rendering for all spatial sounds if binaural rendering is available.

0: Disable, 1: Enable

au.EnableDetailedWindowsDeviceLogging

Enables detailed Windows device logging.

0: Disable, 1: Enable

au.EnableOcclusionFilterScale

Scales occlusion by a 0.25f to compensate for change in filter cutoff frequencies in audio mixers.

0: Disable, 1: Enable

au.EnableReverbStereoFlipForQuad

Enables a stereo flip for quad reverb when in surround.

0: Disable, 1: Enable

au.EnableReverbStereoFlipForQuadLegacy

Enables a stereo flip for quad reverb when in surround.

0: Disable, 1: Enable

au.FadeOutTimeoutMSec

Amount of time to wait for the FadeOut Event to fire.

Value: Time in milliseconds

au.FlushAudioRenderCommandsOnSuspend

When set to 1, ensures that all pending commands to the audio thread and audio render thread are pumped through on app suspension.

0: Enable, 1: Disable

au.FlushAudioRenderThreadOnGC

When set to 1, every time the GC runs, all pending audio render thread commands are flushed.

1: Enable

au.FlushCommandBufferOnTimeout

When set to 1, this flushes the audio render thread synchronously when the fence has timed out.

1: Enable

au.ForceRealtimeDecompression

When set to 1, this deliberately ensures that all audio assets are decompressed as they play, rather than decompressed fully on load.

0: Allow full decompression on load, 1: force realtime decompression.

au.ForceSyncAudioDecodes

Disables the use of async tasks for processing sources.

0: Stop using synchronous tasks, 1: Force audio decoding to be synchronous

au.IsUsingAudioMixer

Determines whether the audio mixer is used. This will only take effect if an audio device is currently not in use, unless au.AllowUnsafeAudioMixerToggling is set to 1. Sounds will stop, and looping sounds will not automatically resume.

0: Not Using Audio Mixer, 1: Using Audio Mixer

au.LinearGainScalarForFinalOutut

Applies a linear gain scalar to the final float buffer to allow for hotfixable mitigation of clipping.

Default: 1.0f

au.LogRenderTimes

Logs audio render times.

0: No Log, 1: Log

au.MaxConcurrentStreams

Overrides the maximum concurrent streams.

0: Not Overridden, >0 Overridden

au.nrt.RenderEveryTick

When set to 1, the engine calls RenderAudio at every tick.

0 = Do not render every tick, 1 = Do render every tick

au.nrt.RenderFrameSize

Selects the number of frames to render in a single callback.

Value: Number of frames to render

au.NumPrecacheFrames

When set to >0, that value will determine the number of frames to precache for audio buffers.

0: Use default value for precache frames, >0: Number of frames to precache.

au.OverrunTimeoutMSec

Amount of time to wait for the render thread to time out before swapping to the null device.

Value: Time in milliseconds

au.RealtimeDecompressZeroDurationSounds

When set to 1, this deliberately ensures that all audio assets are decompressed as they play, rather than fully on load.

0: Allow full decompression on load, 1: force real-time decompression

au.RecoverRecordingOnShutdown

When set to 1, will attempt to bounce the recording to a .wav file if the game is shut down while a recording is in flight.

0: Disable, 1: Enable

au.RenderThreadPriority

Sets the audio render thread priority. Defaults to 3.

0: Normal, 1: Above Normal, 2: Below Normal, 3: Highest, 4: Lowest, 5: Slightly Below Normal, 6: Time Critical

au.ReportAudioDevices

Logs any active audio devices (instances of the audio engine) alive at that time.

N/A

au.SetAudioChannelCount

Changes the audio channel count. Maximum value is clamped to the MaxChannelCount used to initialize the audio engine.

0: Disable, >0: Number entered is the new channel count

au.SetAudioChannelScaleCount

Changes the audio channel count by percentage.

Default depends on channels available in system. Can be changed by adding different value.

au.SoundDistanceOptimizationLength

The maximum duration a sound must be in order to be a candidate to be culled due to one-shot distance optimization.

Default 1.0 (in seconds)

au.SpoofFailedStreamChunkLoad

Forces the engine to treat any incoming streamed chunks as though they had failed to load.

0: Disable, 1: Enable

au.streamcaching.AlwaysLogCacheMisses

When set to a nonzero value, all cache misses will be added to the audiomemreport.

0: Do not log cache misses until au.streamcaching.StartProfiling is called. 1: Always log cache misses.

au.streamcaching.FlushAudioCache

This will flush any non-retained audio from the cache when stream caching is enabled.

N/A

au.streamcaching.ForceBlockForLoad

When set to a nonzero value, blocks GetLoadedChunk until the disk read is complete.

0: Disable, 1: Force load to block

au.streamcaching.KeepCacheMissBufferOnFlush

If set to 1, this will maintain a buffer of recorded cache misses after calling AudioMemReport. Otherwise, calling AudioMemReport will flush all previous recorded cache misses.

1: All cache misses from the whole session will show up in AudioMemReport. 0: Only cache misses since the previous call to AudioMemReport will show up in the current AudioMemReport.

au.streamcaching.MaxCachesToDisplay

Sets the maximum amount of stream chunks to display on screen.

Value: Number of elements to display on screen.

au.streamcaching.MinimumCacheUsage

This value is the minimum potential usage of the stream cache we feasibly want to support. Setting this to 0.25, for example, causes us to potentially be using 25% of our cache size when we start evicting chunks, the worst case scenario.

0.0: Limit the number of chunks to our (Cache Size / Max Chunk Size), [0.01-0.99]: Increase the number of chunks to limit disk IO when lots of small sounds are playing.

au.streamcaching.PlaybackRequestPriority

Sets the default request priority for audio chunks that are about to play back but are not in the cache.

0: High, 1: Normal, 2: Below Normal, 3: Low, 4: Min

au.streamcaching.PrimeSoundOnAudioComponents

When set to 1, automatically primes a USoundBase when a UAudioComponent is spawned with that sound, or when UAudioComponent::SetSound is called.

0: Disable, 1: Enable

au.streamcaching.ReadRequestPriority

Sets the default request priority for audio chunks when Stream Caching is turned on.

0: High, 1: Normal, 2: Below Normal, 3: Low, 4: Min

au.streamcaching.ResizeAudioCacheTo

Will try to cull enough audio chunks to shrink the audio stream cache to the new size if necessary, and keep the cache at that size.

Value: Size in megabytes

au.streamcaching.SaveAudiomemReportOnCacheOverflow

When set to 1, prints an audiomemreport when the cache has overflowed.

0: Disable, 1: Enable

au.streamcaching.StartProfiling

Starts a performance-intensive profiling mode for this streaming manager. Profile stats can be output with audiomemreport.

N/A

au.streamcaching.StopProfiling

Stops the au.streamcaching.StartProfiling command.

N/A

au.streamcaching.StreamCacheSizeOverrideMB

This CVar can be set to override the size of the cache. 0: use cache size from project settings.

Value: The new cache size in megabytes.

au.streamcaching.TrimCacheWhenOverBudget

When set to a nonzero value, TrimMemory will be called in AddOrTouchChunk to ensure you never go over budget.

0: Disable, >0: Enable (any nonzero value entered here will be the equivalent of 1)

au.submix.clearbrokensubmixassets

If fixed, will verify that you do not have a submix that lists a child submix that is no longer its child, and the former children will not erroneously list their previous parents.

N/A

au.UnderrunTimeoutMSec

Amount of time to wait for the render thread to generate the next buffer before submitting an underrun buffer.

Value: # of milliseconds

au.UseListenerOverrideForSpread

Zero attenuation override distance for stereo panning.

0: Use actual distance, 1: Use listener override

au.VirtualLoops.Enabled

Enables or disables virtualization support for audio loops.

0: Disable, 1: Enable

au.VirtualLoops.ForceUpdateListenerMoveDistance

Sets the distance threshold required to force an update on virtualized sounds to check for if a listener moves in a single frame over the given distance, measured in Unreal Units (UU).

0: Disable, 1: Enable, Default value: 2500 UU

au.VirtualLoops.PerfDistance

Sets virtual loop distance to scale update rate between minimum and maximum beyond maximum audible distance of sound.

0: Disable, 1: Enable, Default value: 15000.0

au.VirtualLoops.UpdateRate.Max

Sets maximum rate to check if sound becomes audible again (at beyond sound's maximum audible distance + perf scaling distance).

0: Disable, 1: Enable, Default value: 3.0f

au.VirtualLoops.UpdateRate.Min

Sets minimum rate to check if sound becomes audible again at sound's maximum audible distance.

0: Disable, 1: Enable, Default value: .1f

au.WaitForSoundWaveToLoad

When set to 1, will refuse to play any sound unless the USoundWave has been loaded.

0: Attempt to play back, 1: Wait for load

Older Audio Console Commands

The commands below are included because some users may still employ them, and because they do have functionality.

However, these commands do not take input, and they do not autofill the way the newer audio console commands do.

Command

Description/Comments

Arguments

Audio3dVisualize

Toggles 3D visualization of 3D sounds on/off

N/A

AudioDebugSound

Takes a sound name as an additional input, and provides debug info for that sound

N/A

AudioGetDynamicSoundVolume

Takes a dynamic sound volume name as an additional input, and provides debug info for that volume

N/A

AudioMemReport

Creates a memory report on audio objects

N/A

AudioMixerDebugSound

Takes a sound name as an additional input, and provides debug info for that sound

N/A

AudioResetAllDynamicSoundVolumes

Resets all dynamic sound volumes

N/A

AudioResetDynamicSoundVolume

Takes a dynamic sound volume name as an additional input, and resets that specific volume

N/A

AudioSetDynamicSoundVolume

Takes a dynamic sound volume name as an additional input, and sets that specific volume

N/A

AudioSoloSoundClass

Takes a sound class name as an additional input, and toggles whether that sound class is solo (the only audible sound)

N/A

AudioSoloSoundCue

Takes a sound cue name as an additional input, and toggles whether that sound cue is solo (the only audible sound)

N/A

AudioSoloSoundWave

Takes a sound wave name as an additional input, and toggles whether that sound wave is solo (the only audible sound)

N/A

ClearSoloAudio

Clears the solo command of any audio device currently soloing

N/A

DisableHPF

Disables High Pass Filter functionality for all sources

N/A

DisableLPF

Disables Low Pass Filter functionality for all sources

N/A

DisableRadio

Disables radio effects

N/A

DumpSoundInfo

Prints detailed information about currently active sound objects

N/A

EnableRadio

Enables radio effects

N/A

IsolateDryAudio

Isolates the dry signal of sounds currently playing (the portion of the sounds that have not yet gone through effects processing)

N/A

IsolateReverb

Isolates audio generated by reverb processes

N/A

ListAudioComponents

Dumps a list of all active sound components and their data

N/A

ListSoundClassVolumes

Dumps a list of all active sound class volumes and their data

N/A

ListSoundClasses

Dumps a list of all active sound classes and their data

N/A

ListSoundDurations

Dumps a list of each sound wave object along with its corresponding duration

N/A

ListSounds

Displays debug information about the loaded sounds. Additional parameters: ALPHASORT: Sorts the sounds by name if set to true. Otherwise, sorts by memory usage size in decreasing order; LONGNAMES: If set to true, will print the full path of each sound listed. Otherwise, will only print the object name.

N/A

ListWaves

Displays information about currently active wave instances using the following fields: Instance Index Source ? TEXT("Yes") : TEXT("No"), Playback Time, Volume, Path Name, Sound Name

N/A

PlayAllPIEAudio

Toggles whether audio from all devices is audible regardless of which PIE window has focus

N/A

PlaySoundCue

Takes a sound cue name as additional input and plays the sound cue

N/A

PlaySoundWave

Takes a sound wave name as additional input and plays the sound wave

N/A

ResetSoundState

Resets all volumes to their defaults and removes all test filters

N/A

SetBaseSoundMix

Takes a soundmix name as an additional parameter and sets the soundmix as the base mix

N/A

ShowSoundClassHierarchy

Shows the hierarchy of sound classes

N/A

SoloAudio

Sets a single device as the solo device by muting all other devices.

N/A

SoundClassFixup

Handles potential corruption and path collision in sound classes

N/A

TestLFEBleed

Sets the Low Pass Filter to maximum for all sources, in order to test for potential LFE bleed issues

N/A

TestLPF

Sets the Low Pass Filter to maximum for all sources

N/A

ToggleHRTFForAll

When called, it will change whether HRTF is enabled for all. For example, if bHRTFEnabledForAll is currently set to false, it will set it to true.

N/A

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss