【Unreal Engine】Sound Cue vs Sound Wave: Node Structure and Random Playback Implementation

Created: 2025-12-12

Differences between Sound Wave and Sound Cue in UE5's audio system. Covers Sound Wave basics, Sound Cue node structure (Random, Modulator, Mixer), and implementing randomization to prevent monotony in footsteps and similar sounds.

Solving Sound Monotony

For those just starting game development with Unreal Engine 5 (UE5), are you facing these sound implementation challenges?

"I'm playing gunfire and footsteps, but the same sound every time sounds monotonous..." "I want to add random pitch and volume variations to environmental sounds, but how?" "I want to apply effects like echo and reverb to sounds, but I can't find where to configure them..."

When handling sound in UE5, the first asset you'll encounter is the "Sound Wave." However, Sound Wave alone makes it difficult to achieve rich, dynamic game sounds.

That's where "Sound Cue" comes in. Sound Cue is a powerful tool that combines Sound Waves to enable complex sound processing like randomization, pitch changes, volume adjustment, and effect application.

This article thoroughly explains how to deeply understand Sound Wave—the foundation of UE5's sound system—and effectively utilize Sound Cue to elevate your game sounds to professional level, for beginners to intermediate developers.


Sound Wave Basics

Sound Wave is the most basic audio asset in UE5. Think of it as a container storing raw audio data generated when importing external audio files (mainly .wav format recommended, .ogg also supported) into the engine.

Sound Wave Role and Characteristics

CharacteristicDescription
Raw DataHolds the audio data itself imported from external sources.
Non-DestructiveAlmost no editing functionality; faithfully reproduces the original audio file content.
SingularityOne Sound Wave handles only one audio track (stereo or mono).
Memory EfficiencySaved in compressed formats (e.g., ADPCM, Vorbis), optimizing memory usage.

Sound Wave is suitable for playing single sounds that don't need processing, like "character jump sound" or "UI click sound."

Sound Wave Playback in Blueprint

Playing Sound Waves directly is very simple. The two most common Blueprint nodes are:

Play Sound 2D

This node plays sound regardless of spatial position, uniformly across the entire screen. Primarily used for UI sounds, BGM, etc.—sounds that don't depend on player camera position.

// Play Sound 2D node usage example
// Execute within Event Graph
// --------------------------------------------------
// [Event BeginPlay] -> [Play Sound 2D]
//                         (Sound: My_BGM_SoundWave)
//                         (Volume Multiplier: 1.0)
//                         (Pitch Multiplier: 1.0)

Play Sound at Location

This node plays sound at specific world coordinates. This places sound in 3D space, changing volume and panning (left/right positioning) based on distance and direction from the player (attenuation settings apply).

// Play Sound at Location node usage example
// When player performs action at specific location
// --------------------------------------------------
// [Action Event] -> [Play Sound at Location]
//                     (Sound: Explosion_SoundWave)
//                     (Location: GetActorLocation)
//                     (Volume Multiplier: 1.0)
//                     (Pitch Multiplier: 1.0)

Sound Wave Limitations

While Sound Wave is simple and easy to use, it cannot handle complex audio expression.

For example, when playing explosion sounds and wanting to randomize volume and pitch slightly each time to eliminate "monotony," Sound Wave alone requires implementing all that randomization logic on the Blueprint side. This is inefficient and doesn't easily achieve the complex acoustic effects intended by sound designers.

To overcome these limitations and give sound assets complex logic, Sound Cue becomes necessary.


Sound Cue Functionality

While Sound Wave is "raw sound source," Sound Cue can be thought of as a sound blueprint or programmable sound asset that combines those sources to define how they play. Sound Cue receives Sound Waves as input and generates final sound output through various processing (nodes).

Sound Cue Structure and Nodes

The Sound Cue editor provides a node-based interface similar to the Blueprint editor. By connecting various processing nodes with Sound Waves as starting nodes, you can build complex sound logic.

Main Sound Cue NodesFunctionApplication Example
Sound WaveRaw audio data serving as Sound Cue input.A single WAV file for gunfire.
RandomRandomly selects one from multiple inputs (Sound Waves or other nodes) to play.Footstep variations, enemy growl diversification.
ModulatorAdds random variations or fixed adjustments to volume and pitch.Slightly randomize gunfire pitch to eliminate monotony.
MixerPlays and mixes multiple inputs simultaneously.Play explosion (main) and debris sounds (additional) together.
AttenuateOverrides 3D spatial attenuation (volume change by distance) and spatialization settings.Set longer attenuation distance for specific environmental sounds.
LoopLoops the input sound repeatedly.BGM and environmental sounds (river sounds, etc.).
EnveloperApplies envelope (contour) that changes sound volume or pitch over time.Smooth fade-in/fade-out of sounds.

Advanced Sound Design with Sound Cue

Using Sound Cue, you can complete advanced sound design that's difficult with Sound Wave alone, entirely within the asset.

Eliminating Monotony (Random + Modulator)

When the same sound plays repeatedly in games, players quickly get bored. Sound Cue easily solves this problem.

  1. Random Node: Connect multiple Sound Wave variations (e.g., footstep A, footstep B, footstep C) to a Random node. This selects a different Sound Wave each playback.
  2. Modulator Node: Connect a Modulator node to the Random node output and set slight Random Deviation for Pitch and Volume (e.g., randomize pitch between 0.95 and 1.05).

This combination makes even the same footstep sound like "slightly different each time," giving life to the sound.

Layered Sounds (Mixer)

Sometimes you want to play multiple sounds simultaneously for one event. For example, an SF door opening sound might consist of three elements: "motor drive sound," "air release sound," and "lock release sound."

Prepare these as separate Sound Waves and connect them to a Mixer node to play them together as one Sound Cue. The Mixer node also allows adjusting volume balance between inputs.

About Effect Application

There are no nodes for directly applying effects like reverb or delay within Sound Cue. To apply audio effects in UE5, use these systems:

Effect Application MethodDescription
Submix EffectsMethod of applying effects to Submix (sound mix bus). Most common.
Source EffectsMethod of applying effects directly to individual sound sources.
Audio VolumeVolume for applying reverb settings in specific spaces (caves, rooms, etc.).
Sound ClassMethod of batch managing effects and volume per sound category.

💡 Sound Cue's Role

Sound Cue mainly handles sound selection, synthesis, and modulation (pitch/volume adjustment), while DSP effects like reverb and delay are best applied through UE's audio system (Submix, Audio Volume, etc.).

Sound Cue Playback from Blueprint

Sound Cue can be played with exactly the same Blueprint nodes as Sound Wave (Play Sound 2D and Play Sound at Location).

The important point is that Blueprint doesn't need to know Sound Cue's internal structure—just instructing "play this sound" is enough. Sound Cue handles all complex processing internally: Sound Wave selection, pitch adjustment, effect application, etc.

This lets programmers focus on sound implementation logic while sound designers can freely adjust and change sounds without programmer intervention. This is a best practice that improves both development efficiency and sound quality.


When to Use Sound Wave vs Sound Cue

Having understood Sound Wave and Sound Cue roles, the next important thing is the decision criteria for "when to use which." This distinction greatly affects both project sound management efficiency and final game audio quality.

Decisive Difference Comparison

To clarify the differences, here's a comparison table of main characteristics.

CharacteristicSound WaveSound Cue
RoleRaw audio data (sound source)Sound playback logic (blueprint)
EditingAlmost none (import settings only)Complex editing possible with node-based system
ComplexitySpecialized for simple single-shot playbackComplex processing possible: randomization, pitch/volume adjustment, effect application
DependenciesDepends on external files (.wav, etc.)Depends on one or more Sound Waves
Use CasesUI clicks, BGM, voice—sounds not needing processingFootsteps, gunfire, environmental sounds, explosions—sounds needing variation or complex processing

Cases to Use Sound Wave (Simple Is Best)

The biggest advantage of using Sound Wave directly is simplicity and performance. Without going through Sound Cue, there's less processing overhead, making it optimal for simple sounds played frequently.

  1. UI Sounds: Button clicks, menu open/close sounds—things where the same sound every time is fine.
  2. Voice Over (VO): Character dialogue—things where you want to play source quality as-is.
  3. BGM: Things where loop playback and fade-in/out logic can be completed on the Blueprint side.

Cases to Use Sound Cue (Dynamic Expression)

Sound Cue becomes essential when you want to give sounds "variation" and "complexity."

  1. Sounds Needing Randomization: Footsteps, gunfire, impact sounds, environmental sounds—sounds where you want to avoid monotony.
  2. Sounds Needing Layering: When playing multiple sounds simultaneously to create one acoustic effect (e.g., sword swing + wind cut sound).
  3. Sounds Needing Dynamic Adjustment: When randomizing pitch/volume or changing them over time.
  4. Sounds Needing Effect Processing: When you want to apply effects like reverb or delay to the sound asset itself.

Common Mistakes and Best Practices

Common Mistake: Sound Wave Overuse

A common beginner mistake is trying to handle all sounds with Sound Wave.

For example, when wanting 5 variations of character footsteps, preparing 5 Sound Waves and building logic in Blueprint with Random Integer in Range node to randomly play them is inefficient.

Why is this wrong?

  • Scattered Logic: Sound playback logic spreads across Blueprints, making it hard for sound designers to adjust.
  • Reduced Maintainability: Every new footstep added requires modifying Blueprint logic.

Best Practice: Make Sound Cue the "Playback Gateway"

For sounds likely to need variation additions or replacements later, use Sound Cue or MetaSound as the gateway is the best practice.

Simple sounds like UI SE, BGM, and voice with no planned changes are fine with direct Sound Wave playback. However, sounds likely to need future adjustments like footsteps and sound effects are recommended to be managed with Sound Cue from the start.

  • Create Sound Cue: Even for playing just a single Sound Wave, create a Sound Cue containing that Sound Wave.
  • Call from Blueprint: Always call this Sound Cue from Blueprint.

Adopting this method, when later "wanting to add random pitch variation to this sound," you can respond without changing any Blueprint code—just adding a Modulator node in the Sound Cue editor. This completely separates programmer and sound designer work, maximizing development flexibility.

Developer RoleSound Wave/Cue Operation
Sound DesignerSound Wave import, Sound Cue creation/editing (logic construction)
ProgrammerImplementing logic to call Sound Cue from Blueprint

This division of labor is the key to building professional sound systems in UE5.


Random Footstep Implementation Example

Based on the explanations so far, here are implementation steps for the most common and effective Sound Cue usage example: "Random Footsteps." Footsteps are one of the most frequently played sounds in games, and eliminating their monotony is very important for enhancing game immersion.

Sound Cue Design: Eliminating Monotony

Here we assume three different footstep Sound Waves exist (SW_Footstep_01, SW_Footstep_02, SW_Footstep_03).

Step 1: Create Sound Cue and Place Random Node

  1. Create a new Sound Cue asset (e.g., SC_Footstep_Grass).
  2. Open the Sound Cue editor, place three Sound Wave nodes, and connect them to a Random node.
  3. In the Random node properties, you can set each input's Weight. For example, setting all three to 1.0 selects randomly with equal probability.

Step 2: Fine-Tuning with Modulator Node

  1. Connect the Random node output to a Modulator node.
  2. In the Modulator node properties, configure these settings:
    • Pitch: Min: 0.95, Max: 1.05 (randomly vary pitch within ±5%)
    • Volume: Min: 0.9, Max: 1.0 (slightly randomize volume)

This Modulator node ensures that even if the same Sound Wave is selected consecutively, pitch and volume differ slightly each time, so players won't hear "exactly the same sound."

Step 3: 3D Spatial Settings with Attenuate Node

  1. Connect the Modulator node output to an Attenuate node.
  2. In the Attenuate node properties, specify this footstep's Attenuation Settings. This allows fine control over maximum hearing distance and volume curves by distance.

The final connection is: Sound Wave -> Random -> Modulator -> Attenuate -> Output.

Blueprint Playback Logic

With Sound Cue prepared, next call it from the character's Blueprint. Footstep playback is usually done through Anim Notify set within character animations.

Anim Notify Setup

Open the character's walking animation (e.g., Walk_Anim) and add an Anim Notify (e.g., Footstep_Notify) at the moment the foot touches the ground.

Character Blueprint Implementation

In the character's Event Graph, receive this Anim Notify event and play the Sound Cue.

// Character Blueprint Event Graph
// --------------------------------------------------
// [Event AnimNotify_Footstep_Notify]
//       |
//       V
// [Play Sound at Location]
//   (Sound: SC_Footstep_Grass)  <-- Specify Sound Cue here
//   (Location: GetActorLocation)
//   (Volume Multiplier: 1.0)
//   (Pitch Multiplier: 1.0)
// --------------------------------------------------

Why This Method is Superior

The biggest advantage of this implementation is that Blueprint logic is completely separated from Sound Cue's internal structure.

  • Easy Sound Changes: When requests come to increase footstep variations to 5 or change pitch random range, programmers don't need to touch Blueprint at all—sound designers just add/adjust nodes in the Sound Cue editor.
  • Switching by Environment: If characters walk on "grass" and "stone pavement," the Blueprint side just determines ground material and switches between two Sound Cues: SC_Footstep_Grass and SC_Footstep_Stone. Each Sound Cue can have different Sound Waves and Modulator settings internally.

MetaSound as Sound Cue Alternative (UE5 Evolution)

UE5 introduces "MetaSound" as an evolution of Sound Cue—a new sound system. MetaSound provides an even more powerful and flexible node-based audio programming environment than Sound Cue.

💡 UE5+ Sound System Direction

From UE5 onward, Epic Games is moving toward recommending MetaSound for new projects. MetaSound is particularly suited for complex procedural sounds and real-time parameter control. However, Sound Cue continues to be supported and remains practical enough for simple randomization and variation management. Choose based on your project requirements.

MetaSound enables more advanced modulation, real-time parameter control, and external data integration—completely encompassing Sound Cue functionality while extending it further.

However, simple UI SE or temporary sound playback is still sufficient with direct Sound Wave playback or simple Sound Cues. Choose appropriate tools based on project requirements.

The basic concepts of Sound Cue (combining Sound Waves to create logic) carry over to MetaSound, and understanding Sound Cue provides a foundation for smooth transition to MetaSound.


Summary

This article explained Sound Wave—the sound asset foundation in Unreal Engine 5—and Sound Cue for building complex sound logic using them.

Key Points Summary

AssetRoleAppropriate Use CaseBest Practice
Sound WaveRaw audio data (sound source)UI sounds, BGM, voice—simple sounds not needing processing.Include in Sound Cue as much as possible, avoid calling directly from Blueprint.
Sound CueSound playback logic (blueprint)Footsteps, gunfire, environmental sounds—complex sounds needing randomization or effects.Function as the "playback gateway" for all in-game sounds.

Understand that Sound Cue is a wrapper (enclosure) that gives Sound Wave "intelligence" and "flexibility." Thoroughly maintaining this division of roles dramatically improves both sound quality and development efficiency.

"Common Mistakes" Beginners Should Avoid

MistakeWhy It's a ProblemSolution (Best Practice)
Random playback of Sound Wave directly in BlueprintSound logic scatters across Blueprints, making it hard for sound designers to adjust.Use Sound Cue's Random node and Modulator node to contain logic within the Sound Cue asset.
Ignoring Sound Cue's Attenuate settings3D spatial sound attenuation doesn't work as intended—distant sounds are too loud or nearby sounds too quiet.Appropriately set the Attenuate node within Sound Cue editor, or apply project Attenuation Settings.
Modulator node random range too widePitch and volume changes are too large, making sounds unnatural.Keep pitch random range around 0.95-1.05, volume around 0.9-1.0—subtle variations.

Next Step: Transitioning to MetaSound

While MetaSound is becoming mainstream in UE5, the "node-based sound construction" thinking learned with Sound Cue directly applies to MetaSound. After mastering basic randomization and modulation with Sound Cue, challenge MetaSound to aim for even more advanced sound expression.

May your game's sounds become richer and more immersive.