Editor.AsyncSoundWaveCompilationFinishAll
Editor.AsyncSoundWaveCompilationFinishAll
#Overview
name: Editor.AsyncSoundWaveCompilationFinishAll
This variable is created as a Console Variable (cvar).
- type:
Cmd
- help:
Finish all soundwaves compilations
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of Editor.AsyncSoundWaveCompilationFinishAll is to control the asynchronous compilation of sound wave assets in the Unreal Engine editor. It is part of the audio system and is used to improve performance during sound asset import and map loading.
This setting variable is primarily used by the Engine module, specifically within the SoundWaveCompiler subsystem. It is closely related to the async compilation system for various asset types in Unreal Engine.
The value of this variable is set through the UEditorExperimentalSettings class, which is part of the UnrealEd module. It is associated with the bEnableAsyncSoundWaveCompilation boolean property in this class.
The variable interacts with other async compilation-related variables and systems, such as those for static meshes and skeletal meshes. It is part of a broader system for managing asynchronous asset compilation in the engine.
Developers should be aware that this is an experimental feature, as indicated by its presence in the EditorExperimentalSettings class. Enabling this feature can improve performance during sound asset import and map loading, but it may also introduce potential instability or unexpected behavior.
Best practices when using this variable include:
- Testing thoroughly in a non-production environment before enabling in production.
- Monitoring performance impacts and any potential issues that arise from enabling async sound wave compilation.
- Keeping the engine and project up-to-date, as experimental features may change or become stable in future versions.
Regarding the associated variable bEnableAsyncSoundWaveCompilation:
The purpose of bEnableAsyncSoundWaveCompilation is to enable or disable the asynchronous compilation of sound wave assets in the Unreal Engine editor.
This variable is part of the UEditorExperimentalSettings class in the UnrealEd module. It directly controls whether the async compilation feature for sound waves is active.
The value of this variable is set in the editor’s project settings under the Experimental category.
It interacts with the Engine.AsyncSoundWaveCompilationFinishAll console variable and other async compilation systems in the engine.
Developers should be aware that this is an experimental feature and may impact editor stability or performance in unexpected ways.
Best practices for using this variable include:
- Enabling it only when needed to improve sound asset import and map loading performance.
- Testing thoroughly in a controlled environment before using in production.
- Monitoring for any adverse effects on editor performance or stability when enabled.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/SoundWaveCompiler.cpp:49
Scope (from outer to inner):
file
namespace SoundWaveCompilingManagerImpl
function static void EnsureInitializedCVars
Source code excerpt:
AsyncCompilationHelpers::EnsureInitializedCVars(
TEXT("SoundWave"),
CVarAsyncSoundWaveStandard.AsyncCompilation,
CVarAsyncSoundWaveStandard.AsyncCompilationMaxConcurrency,
GET_MEMBER_NAME_CHECKED(UEditorExperimentalSettings, bEnableAsyncSoundWaveCompilation));
}
}
}
#Associated Variable and Callsites
This variable is associated with another variable named bEnableAsyncSoundWaveCompilation
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Classes/Settings/EditorExperimentalSettings.h:27
Scope (from outer to inner):
file
class class UEditorExperimentalSettings : public UObject
Source code excerpt:
UPROPERTY(EditAnywhere, config, Category = Performance, meta = (DisplayName = "Enable async static mesh compilation and loading"))
bool bEnableAsyncStaticMeshCompilation;
/** Enable async skeletal mesh compilation to improve import and map load time performance when compilation is required */
UE_DEPRECATED(5.1, "Deprecated & replaced by bEnableAsyncSkinnedAssetCompilation.")
UPROPERTY(/*EditAnywhere - deprecated & replaced by bEnableAsyncSkinnedAssetCompilation, */config/*, Category = Performance, meta = (DisplayName = "Enable async skeletal mesh compilation and loading")*/)
bool bEnableAsyncSkeletalMeshCompilation;
/** Enable async skinned asset compilation to improve import and map load time performance when compilation is required */
UPROPERTY(EditAnywhere, config, Category = Performance, meta = (DisplayName = "Enable async skinned asset compilation and loading"))
bool bEnableAsyncSkinnedAssetCompilation;
/** Enable async sound compilation to improve import and map load time performance when compilation is required */
UPROPERTY(EditAnywhere, config, Category = Performance, meta = (DisplayName = "Enable async sound compilation and loading"))
bool bEnableAsyncSoundWaveCompilation;
/** Allows the editor to run on HDR monitors on Windows 10 */
UPROPERTY(EditAnywhere, config, Category = HDR, meta = (ConfigRestartRequired = true, DisplayName = "Enable Editor Support for HDR Monitors"))
bool bHDREditor;
/** The brightness of the slate UI on HDR monitors */
UPROPERTY(EditAnywhere, config, Category = HDR, meta = (ClampMin = "100.0", ClampMax = "300.0", UIMin = "100.0", UIMax = "300.0"))
float HDREditorNITLevel;
/** Allows usage of the procedural foliage system */
UPROPERTY(EditAnywhere, config, Category = Foliage, meta = (DisplayName = "Procedural Foliage"))
bool bProceduralFoliage;
/** Allows usage of the Translation Picker */
UPROPERTY(EditAnywhere, config, Category = Tools, meta = (DisplayName = "Translation Picker"))
bool bEnableTranslationPicker;
/** Specify which console-specific nomenclature to use for gamepad label text */
UPROPERTY(EditAnywhere, config, Category=UserInterface, meta=(DisplayName="Console for Gamepad Labels"))
TEnumAsByte<EConsoleForGamepadLabels::Type> ConsoleForGamepadLabels;
/** Allows for customization of toolbars and menus throughout the editor */
UPROPERTY(config)
bool bToolbarCustomization;
/** Break on Exceptions allows you to trap Access Nones and other exceptional events in Blueprints. */
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Settings/SettingsClasses.cpp:175
Scope (from outer to inner):
file
function UEditorExperimentalSettings::UEditorExperimentalSettings
Source code excerpt:
ECVF_Default);
static TAutoConsoleVariable<float> CVarEditorHDRNITLevel(
TEXT("Editor.HDRNITLevel"),
160.0f,
TEXT("Sets The desired NIT level of the editor when running on HDR"),
ECVF_Default);
UEditorExperimentalSettings::UEditorExperimentalSettings( const FObjectInitializer& ObjectInitializer )
: Super(ObjectInitializer)
, bEnableAsyncTextureCompilation(false)
, bEnableAsyncStaticMeshCompilation(false)
, bEnableAsyncSkeletalMeshCompilation(true) // This was false and set to True in /Engine/Config/BaseEditorPerProjectUserSettings.ini. The setting is removed from .ini so change it to default True.
, bEnableAsyncSkinnedAssetCompilation(false)
, bEnableAsyncSoundWaveCompilation(false)
, bHDREditor(false)
, HDREditorNITLevel(160.0f)
, bUseOpenCLForConvexHullDecomp(false)
, bAllowPotentiallyUnsafePropertyEditing(false)
, bPackedLevelActor(true)
, bLevelInstance(true)
{
}
void UEditorExperimentalSettings::PostInitProperties()
{
PRAGMA_DISABLE_DEPRECATION_WARNINGS
// bEnableAsyncSkeletalMeshCompilation's default to True (see comment in constructor above).
// To be backwards compatible, if a user project overrides it to False, pass on the value to bEnableAsyncSkinnedAssetCompilation.
if (!bEnableAsyncSkeletalMeshCompilation)
{
UE_LOG(LogSettingsClasses, Warning, TEXT("bEnableAsyncSkeletalMeshCompilation is deprecated and replaced with bEnableAsyncSkinnedAssetCompilation. Please update the config. Setting bEnableAsyncSkinnedAssetCompilation to False."));
bEnableAsyncSkinnedAssetCompilation = false;
}
PRAGMA_ENABLE_DEPRECATION_WARNINGS
CVarEditorHDRSupport->Set(bHDREditor ? 1 : 0, ECVF_SetByProjectSetting);
CVarEditorHDRNITLevel->Set(HDREditorNITLevel, ECVF_SetByProjectSetting);
Super::PostInitProperties();
}
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/SoundWaveCompiler.cpp:40
Scope (from outer to inner):
file
namespace SoundWaveCompilingManagerImpl
function static void EnsureInitializedCVars
Source code excerpt:
}
static void EnsureInitializedCVars()
{
static bool bIsInitialized = false;
if (!bIsInitialized)
{
bIsInitialized = true;
AsyncCompilationHelpers::EnsureInitializedCVars(
TEXT("SoundWave"),
CVarAsyncSoundWaveStandard.AsyncCompilation,
CVarAsyncSoundWaveStandard.AsyncCompilationMaxConcurrency,
GET_MEMBER_NAME_CHECKED(UEditorExperimentalSettings, bEnableAsyncSoundWaveCompilation));
}
}
}
FSoundWaveCompilingManager::FSoundWaveCompilingManager()
: Notification(MakeUnique<FAsyncCompilationNotification>(GetAssetNameFormat()))
{
SoundWaveCompilingManagerImpl::EnsureInitializedCVars();
}
FName FSoundWaveCompilingManager::GetStaticAssetTypeName()
{
return TEXT("UE-SoundWave");
}
FName FSoundWaveCompilingManager::GetAssetTypeName() const
{
return GetStaticAssetTypeName();
}
TArrayView<FName> FSoundWaveCompilingManager::GetDependentTypeNames() const
{
return TArrayView<FName>{ };
}
FTextFormat FSoundWaveCompilingManager::GetAssetNameFormat() const