Skip to content

Sound Cue vs MetaSound vs Sound Wave

At a glance

Type: audio asset boundary - Main choices: Sound Wave, Sound Cue, MetaSound Source, MetaSound Patch - Beginner rule: start with a Sound Wave for one simple sound, a Sound Cue for randomization/simple sound design, and a MetaSound when you need procedural or parameter-heavy audio - Official docs: Sound Cues, MetaSounds, and Audio Engine Overview

The one-minute version

  • A Sound Wave is an imported audio file wrapped as an Unreal asset.
  • A Sound Cue is a node graph that chooses, randomizes, mixes, delays, loops, or parameterizes one or more sounds at playback time.
  • A MetaSound Source is a procedural/audio-graph source. It is stronger when sound behavior needs sample-accurate triggers, synthesis, or rich parameters.
  • Play Sound and Audio Component nodes accept SoundBase-style assets, so a beginner may be able to plug in any of these without understanding the boundary.
  • Do not use MetaSound just because it is newer. Use the smallest asset type that solves the sound design problem.
  • These assets define what audio is generated. Playback nodes, attenuation, concurrency, and replication still decide where/when/how it is heard.

What they actually are

flowchart TD
    Wave[Sound Wave<br/>imported audio asset]
    Cue[Sound Cue<br/>sound-node graph]
    Meta[MetaSound Source<br/>procedural audio graph]
    Play[Play Sound / Audio Component]
    Wave --> Play
    Cue --> Play
    Meta --> Play

A Sound Wave is the plain source: "play this imported clip." A Sound Cue is a runtime-evaluated sound graph: "each time this sound plays, pick and modify parts of the sound according to this graph." A MetaSound Source is a more powerful audio graph that can generate and process audio with detailed parameters and timing.

The confusing part is that Blueprint playback nodes usually care about the base sound interface. They do not force you to choose the best asset design.

When the simple asset stops being enough

Use a Sound Wave when:

  • the clip is one simple UI click, pickup ping, or one-shot sound,
  • there is no randomization,
  • no gameplay parameter should change the sound,
  • the sound designer has not asked for reusable logic.

Move to a Sound Cue when:

  • footsteps should randomly choose one of several clips,
  • pitch/volume should vary a little per play,
  • the sound should branch based on simple named parameters,
  • one sound asset should bundle small sound-design logic for reuse.

Move to a MetaSound when:

  • audio logic is procedural or heavily parameter-driven,
  • timing inside the sound matters more than Blueprint event timing,
  • the sound needs reusable patches or synthesis,
  • the team wants to build audio behavior as an audio graph rather than a gameplay Blueprint graph.

Do not migrate a working Sound Cue to MetaSound by habit. The cost is real: another editor, another debugging model, and more power than a first project may need.

What failure looks like

Common causes:

  1. The playback node is fine; the asset is too simple. One raw footstep wave repeats obviously because there is no randomization.
  2. The asset has parameters but Blueprint never sets them. Parameter names must match exactly.
  3. The loop is in the wrong layer. A looping wave/cue/metasound can still need an Audio Component so gameplay can stop or fade it.
  4. Attenuation is missing. The asset choice does not make a sound spatial or distance-based by itself.
  5. Concurrency is missing. The asset choice does not stop 50 overlapping copies of the same impact sound.
  6. A raw Sound Wave is duplicated for tuning. Use a Cue/MetaSound or component controls before copying many nearly identical assets.
  7. MetaSound is doing gameplay authority work. Gameplay state should still be decided by Blueprints/C++ on the correct machine.

Failure usually sounds repetitive, wrong, or impossible to control. It rarely appears as a Blueprint error.

The pattern everyone actually uses

Start small:

UI click
-> Sound Wave
-> Play Sound 2D

Add simple variety:

Footstep
-> Sound Cue with random wave player / pitch-volume variation
-> attenuation asset
-> Play Sound at Location from foot notify

Use a controlled loop:

Generator hum
-> Sound Cue or MetaSound Source
-> Audio Component on generator
-> Fade In / Fade Out when power state changes

Use MetaSound when the sound itself has logic:

Charging weapon loop
-> MetaSound Source with Charge parameter
-> Audio Component Set Float Parameter / volume controls
-> gameplay decides charge amount

Lookalikes - which one do I want?

Asset / system It is Use when
Sound Wave Imported audio clip asset One simple clip is enough.
Sound Cue Runtime sound-node graph You need randomization, pitch/volume variation, simple parameter branching, or reusable sound design around clips.
MetaSound Source Procedural audio source graph You need parameter-heavy, generated, or timing-sensitive audio logic.
MetaSound Patch Reusable piece inside MetaSounds Several MetaSounds should share audio graph logic.
Audio Component Live playback/control component You need to play/stop/fade/swap/control a sound instance.
Sound Attenuation Listener/source spatial rule set The sound needs world falloff, panning, focus, or occlusion.
Sound Concurrency Voice limiting rule set Too many copies of the sound can overlap.

Rule of thumb: Sound Wave is content, Sound Cue/MetaSound are sound logic, Audio Component is a runtime handle, and attenuation/concurrency shape playback.

Going deeper