UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SoundClass.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5
6#include "AudioDefines.h"
9#include "IAudioModulation.h"
14#include "UObject/Object.h"
15
16#if WITH_EDITOR
17#include "EdGraph/EdGraph.h"
18#endif // WITH_EDITOR
21
22#include "SoundClass.generated.h"
23
24class UAssetUserData;
25
26USTRUCT()
28{
30
31 int32 NodePosX;
32
33 int32 NodePosY;
34
35
37 : NodePosX(0)
38 , NodePosY(0)
39 {
40 }
41
42
47};
48
53USTRUCT(BlueprintType)
55{
57
58
59 UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (ClampMin = "0.0"), Category = General)
61
63 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = General)
64 float Pitch;
65
67 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = General)
68 float LowPassFilterFrequency;
69
74 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = General)
75 float AttenuationDistanceScale;
76
78 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Routing, meta = (DisplayName = "LFE Bleed"))
79 float LFEBleed;
80
82 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Routing)
83 float VoiceCenterChannelVolume;
84
86 UPROPERTY(EditAnywhere, BlueprintReadOnly, AdvancedDisplay, Category = Legacy)
87 float RadioFilterVolume;
88
90 UPROPERTY(EditAnywhere, BlueprintReadOnly, AdvancedDisplay, Category = Legacy)
91 float RadioFilterVolumeThreshold;
92
94 UPROPERTY(EditAnywhere, BlueprintReadOnly, AdvancedDisplay, Category = Legacy, meta = (DisplayName = "Output to Master EQ Submix"))
95 uint8 bApplyEffects:1;
96
98 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = General)
99 uint8 bAlwaysPlay:1;
100
102 UPROPERTY(EditAnywhere, BlueprintReadOnly, AdvancedDisplay, Category = Legacy)
103 uint8 bIsUISound:1;
104
106 UPROPERTY(EditAnywhere, BlueprintReadOnly, AdvancedDisplay, Category = Legacy)
107 uint8 bIsMusic:1;
108
110 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Routing)
111 uint8 bCenterChannelOnly:1;
112
114 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Routing)
115 uint8 bApplyAmbientVolumes:1;
116
118 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Submix, meta = (DisplayName = "Send to Master Reverb Submix"))
119 uint8 bReverb:1;
120
122 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Submix)
123 float Default2DReverbSendAmount;
124
126 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Modulation)
128
130 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Legacy)
131 TEnumAsByte<EAudioOutputTarget::Type> OutputTarget;
132
134 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Loading, meta = (DisplayName = "Loading Behavior Override"), AssetRegistrySearchable)
136
137#if WITH_EDITORONLY_DATA
139 UPROPERTY(EditAnywhere, Category = Loading, meta = (UIMin = 0, UIMax = 10, EditCondition = "LoadingBehavior == ESoundWaveLoadingBehavior::RetainOnLoad || LoadingBehavior == ESoundWaveLoadingBehavior::PrimeOnLoad"), DisplayName="Size of First Audio Chunk (seconds)")
141#endif //WITH_EDITORONLY_DATA
142
145 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Submix, meta = (EditCondition = "!bApplyEffects"))
146 TObjectPtr<USoundSubmix> DefaultSubmix;
147
149};
151
162
166USTRUCT(BlueprintType)
168{
170
171
172 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=PassiveSoundMixModifier)
173 TObjectPtr<class USoundMix> SoundMix;
174
176 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=PassiveSoundMixModifier)
177 float MinVolumeThreshold;
178
180 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=PassiveSoundMixModifier)
181 float MaxVolumeThreshold;
182
184 : SoundMix(NULL)
185 , MinVolumeThreshold(0.f)
186 , MaxVolumeThreshold(10.f)
187 {
188 }
189
190};
191
192#if WITH_EDITOR
193class USoundClass;
194
197{
198public:
199 virtual ~ISoundClassAudioEditor() {}
200
202 virtual void RefreshGraphLinks(UEdGraph* SoundClassGraph) = 0;
203};
204#endif
205
206
207UCLASS(config = Engine, hidecategories = Object, editinlinenew, BlueprintType, MinimalAPI)
209{
211
212public:
214 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = General, meta = (ShowOnlyInnerProperties))
216
217 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = General)
219
221 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = General)
222 TArray<FPassiveSoundMixModifier> PassiveSoundMixModifiers;
223
224 UPROPERTY(BlueprintReadOnly, Category = General)
226
228 UPROPERTY(EditAnywhere, AdvancedDisplay, Instanced, Category = Advanced)
230
231#if WITH_EDITORONLY_DATA
234#endif // WITH_EDITORONLY_DATA
235
236protected:
237
238 //~ Begin UObject Interface.
239 ENGINE_API virtual void Serialize( FArchive& Ar ) override;
240 ENGINE_API virtual FString GetDesc( void ) override;
241 ENGINE_API virtual void BeginDestroy() override;
242 ENGINE_API virtual void PostLoad() override;
243#if WITH_EDITOR
245 ENGINE_API virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
246#endif
247 //~ End UObject Interface.
248
249public:
253 ENGINE_API void Interpolate( float InterpValue, FSoundClassProperties& Current, const FSoundClassProperties& Start, const FSoundClassProperties& End );
254
255 //~ Begin IInterface_AssetUserData Interface
256 ENGINE_API virtual void AddAssetUserData(UAssetUserData* InUserData) override;
257 ENGINE_API virtual void RemoveUserDataOfClass(TSubclassOf<UAssetUserData> InUserDataClass) override;
258 ENGINE_API virtual UAssetUserData* GetAssetUserDataOfClass(TSubclassOf<UAssetUserData> InUserDataClass) override;
259 ENGINE_API virtual const TArray<UAssetUserData*>* GetAssetUserDataArray() const override;
260 //~ End IInterface_AssetUserData Interface
261
262 // Sound Class Editor functionality
263#if WITH_EDITOR
267 ENGINE_API bool RecurseCheckChild( USoundClass* ChildSoundClass );
268
275
282 static ENGINE_API void AddReferencedObjects(UObject* InThis, FReferenceCollector& Collector);
283
290
293
296
297private:
298
301
302#endif
303
304};
305
#define NULL
Definition oodle2base.h:134
int Volume
Definition AndroidPlatformMisc.cpp:380
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
@ General
Definition MaterialExpressionFunctionInput.h:41
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
ESoundWaveLoadingBehavior
Definition SoundWaveLoadingBehavior.h:24
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition AudioDynamicParameter.h:10
Definition UnrealType.h:174
Definition UObjectGlobals.h:2492
Definition Interface_AssetUserData.h:20
Definition Array.h:670
Definition EnumAsByte.h:22
Definition SharedPointer.h:692
Definition SubclassOf.h:30
Definition AssetUserData.h:18
Definition EdGraph.h:68
Definition Object.h:95
Definition SoundClass.h:209
Definition SoundMix.h:173
Definition SoundSubmix.h:334
Definition AudioOutputTarget.h:10
Definition SoundClass.h:168
Definition PerPlatformProperties.h:304
Definition UnrealType.h:6865
Definition SoundClass.h:154
FSoundClassDynamicProperties()
Definition SoundClass.h:157
FDynamicParameter AttenuationScaleParam
Definition SoundClass.h:155
Definition SoundClass.h:28
friend FArchive & operator<<(FArchive &Ar, FSoundClassEditorData &MySoundClassEditorData)
Definition SoundClass.h:43
Definition SoundClass.h:55
Definition SoundModulationDestination.h:103
Definition ObjectPtr.h:488