USoundCue

The behavior of audio playback is defined within Sound Cues.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Sound/SoundCue.h

Include

#include "Sound/SoundCue.h"

Syntax

class USoundCue : public USoundBase

Remarks

The behavior of audio playback is defined within Sound Cues.

Variables

Name Description

Public variable

TArray< TObject...

 

AllNodes

Public variable

FSoundAttenuati...

 

AttenuationOverrides

Attenuation settings to use if Override Attenuation is set to true

Public variable

uint8: 1

 

bExcludeFromRandomNodeBranchCulling

Ignore per-platform random node culling for memory purposes

Public variable

uint8: 1

 

bOverrideAttenuation

Indicates whether attenuation should use the Attenuation Overrides or the Attenuation Settings asset

Public variable

uint32: 1

 

bPrimeOnLoad

Makes this sound cue automatically load any sound waves it can play into the cache when it is loaded.

Public variable

TObjectPtr< USo...

 

FirstNode

Public variable

float

 

PitchMultiplier

Base pitch multiplier

Public variable

TObjectPtr< UEd...

 

SoundCueGraph

Protected variable

float

 

SubtitlePriority

Public variable

float

 

VolumeMultiplier

Base volume multiplier

Constructors

Name Description

Public function

USoundCue

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Static

void

 

AddReferencedObjects

(
    UObject* InThis,
    FReferenceCollector& Collector
)

Public function

void

 

CacheAggregateValues()

Call to cache any values which need to be computed from the sound cue graph.

Public function

void

 

CacheLoadingBehavior

(
    ESoundWaveLoadingBehavior InBehavio...
)

Call this when stream caching is enabled to update sound waves of loading behavior they are inheriting via SoundCue

Public function Static

void

 

CacheQualityLevel()

This is used to cache the quality level if it has not been cached yet.

Public function

void

 

ClearGraph()

Clears all nodes from the graph (for old editor's buffer soundcue)

Public function

void

 

CompileSoundNodesFromGraphNodes()

Use the EdGraph representation to compile the SoundCue

Public function

T *

 

ConstructSoundNode

(
    TSubclassOf< USoundNode > SoundNode...,
    bool bSelectNewNode
)

Construct and initialize a node within this Cue

Public function

void

 

CreateGraph()

Create the basic sound graph

Public function Const

bool

 

FindPathToNode

(
    const UPTRINT NodeHashToFind,
    TArray< USoundNode* >& OutPat...
)

Find the path through the sound cue to a node identified by its hash

Public function Static

int32

 

GetCachedQualityLevel()

Public function Const

int32

 

GetCookedQualityIndex()

Set the Quality level that the Cue was cooked at, called by the SoundQualityNodes

Public function

UEdGraph ...

 

GetGraph()

Get the EdGraph of SoundNodes

Public function Virtual

int32

 

GetResourceSizeForFormat

(
    FName Format
)

Public function Static

TSharedPtr< ...

 

GetSoundCueAudioEditor()

Gets the sound cue graph editor implementation.

Public function

void

 

LinkGraphNodesFromSoundNodes()

Use the SoundCue's children to link EdGraph Nodes together

Public function

void

 

PrimeSoundCue()

Call this when stream caching is enabled to prime all SoundWave assets referenced by this Sound Cue.

Public function

void

 

RecursiveFindAllNodes

(
    USoundNode* Node,
    TArray< USoundNode* >& OutNod...
)

Recursively finds all Nodes in the Tree

Public function

void

 

RecursiveFindAttenuation

(
    USoundNode* Node,
    TArray< class USoundNodeAttenuation...
)

Instantiate certain functions to work around a linker issue

Public function

void

 

RecursiveFindNode

(
    USoundNode* Node,
    TArray< T* >& OutNodes
)

Recursively finds sound nodes of type T

Public function Const

void

 

RecursiveFindNode

(
    const USoundNode* Node,
    TArray< const T* >& OutNodes
)

Protected function Const

bool

 

RecursiveFindPathToNode

(
    USoundNode* CurrentNode,
    const UPTRINT CurrentHash,
    const UPTRINT NodeHashToFind,
    TArray< USoundNode* >& OutPat...
)

Public function

void

 

ReleaseRetainedAudio()

Public function

void

 

ResetGraph()

Resets all graph data and nodes

Public function

void

 

RetainSoundCue()

Call this when stream caching is enabled to retain all soundwave assets referenced by this sound cue.

Public function Static

void

 

SetSoundCueAudioEditor

(
    TSharedPtr< ISoundCueAudioEditor > ...
)

Sets the sound cue graph editor implementation.*

Public function

void

 

SetupSoundNode

(
    USoundNode* InSoundNode,
    bool bSelectNewNode
)

Set up EdGraph parts of a SoundNode

Public function Static

void

 

StaticAudioQualityChanged

(
    int32 NewQualityLevel
)

Call when the audio quality has been changed

Overridden from USoundBase

Name Description

Public function Virtual Const

const FSound...

 

GetAttenuationSettingsToApply()

Returns a pointer to the attenuation settings that are to be applied for this node

Public function Virtual

float

 

GetDuration()

Returns the length of the sound

Public function Virtual Const

float

 

GetMaxDistance()

Returns the farthest distance at which the sound could be heard

Public function Virtual

float

 

GetPitchMultiplier()

Public function Virtual

bool

 

GetSoundWavesWithCookedAnalysisData

(
    TArray< USoundWave* >& OutSou...
)

Returns whether the sound has cooked analysis data (e.g. FFT or envelope following data) and returns sound waves which have cooked data.

Public function Virtual Const

float

 

GetSubtitlePriority()

Returns the subtitle priority

Public function Virtual

float

 

GetVolumeMultiplier()

Public function Virtual Const

bool

 

HasCookedAmplitudeEnvelopeData()

Public function Virtual Const

bool

 

HasCookedFFTData()

Queries if the sound has cooked FFT or envelope data.

Public function Virtual Const

bool

 

IsPlayable()

Returns whether the sound base is set up in a playable manner

Public function Virtual Const

bool

 

IsPlayWhenSilent()

Returns true if any of the sounds in the sound have "play when silent" enabled.

Public function Virtual

void

 

Parse

(
    FAudioDevice* AudioDevice,
    const UPTRINT NodeWaveInstanceHash,
    FActiveSound& ActiveSound,
    const FSoundParseParameters& Parse...,
    TArray< FWaveInstance* >& Wav...
)

Parses the Sound to generate the WaveInstances to play.

Public function Virtual

bool

 

ShouldApplyInteriorVolumes()

Returns whether or not any part of this sound wants interior volumes applied to it

Overridden from UObject

Name Description

Public function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Public function Virtual

FString

 

GetDesc()

Return a one line description of an object for viewing in the thumbnail view of the generic browser

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

Serialize

(
    FStructuredArchive::FRecord Record
)

Handles reading, writing, and reference collecting using FArchive.

Overridden from UObjectBaseUtility

Name Description

Public function Virtual Const

bool

 

CanBeClusterRoot()

Called after load to determine if the object can be a cluster root

Public function Virtual Const

bool

 

CanBeInCluster()

Called during cluster construction if the object can be added to a cluster

Constants

Name

Description

CachedQualityLevel

SoundCueAudioEditor

Ptr to interface to sound cue editor operations.