Getting a sound to play is the easy part. The wall comes right after: the same footstep repeats endlessly and the game suddenly sounds cheap. When every stride produces the exact same "tap, tap, tap," your ear immediately registers it as one file being replayed.
The fix isn't writing random numbers in Blueprint. UE has an asset type whose entire job is designing how a sound plays, and that's where this belongs. This article covers the split between Sound Wave (the audio itself) and Sound Cue (the blueprint for playback), and how to build footsteps that never sound monotonous.
What You'll Learn
- Sound Wave = the audio itself, Sound Cue = the blueprint for playback
- The two nodes that kill repetition: Random and Modulator
- The playback node in Blueprint is identical for both
- Reverb and delay are not applied inside a Sound Cue
- Hands-on: building a footstep Cue that plays randomly
A Sound Wave Is the Audio Itself
Dragging a .wav file into the Content Browser creates a Sound Wave. That's the recorded audio data itself, nothing more and nothing less.

- What it can do: play back as-is, and expose import settings (compression quality, looping, and so on)
- What it can't do: pick between sounds, vary randomly, or mix several together
Playback takes just two Blueprint nodes.
| Node | What It Does | When to Use It |
|---|---|---|
| Play Sound 2D | Plays as-is, with no position | UI sounds, music |
| Play Sound at Location | Plays at a given coordinate (attenuates with distance) | Footsteps, explosions, ambience |
If a sound should be identical every time, leaving it as a Sound Wave is perfectly fine. Button clicks and dialogue voice lines actually sound more natural when they don't change.
The problem is effects that repeat. Footsteps, gunshots, melee impacts. Replay the same file over and over there and the game instantly sounds artificial.
A Sound Cue Is the Playback Blueprint
A Sound Cue takes Sound Waves as raw material and assembles the rules for how they play. You build it by wiring nodes, so it looks a lot like a Blueprint graph.

The important part: from Blueprint's point of view, a Sound Wave and a Sound Cue are interchangeable.
Play Sound at Location (Sound: SC_Footstep, Location: foot position)
The Sound pin accepts either. So when you later decide "actually, I want this randomized," you can swap the asset without touching the Blueprint.
That's a big design win. The complexity of how a sound plays lives outside your Blueprint, so gameplay code only has to say "play this sound."
The Two Nodes That Kill Repetition
Sound Cue has plenty of nodes, but only two are worth learning first. These two solve almost all repetition problems.

Random picks one input at a time from everything wired into it. Prepare three to five footstep variations, wire them up, and you're no longer replaying the same file.
Modulator takes the sound passing through it and randomizes pitch and volume within a range you specify. Even with identical source audio, a slightly higher or lower pitch changes the impression dramatically.
The standard setup is to stack these two. With only three source files plus pitch jitter, you effectively get a different sound every step.
Everything else you can learn when you need it.
| Node | What It Does |
|---|---|
| Mixer | Plays several sounds at the same time (explosion plus debris) |
| Concatenator | Plays several sounds in sequence |
| Attenuation | Overrides the distance falloff settings |
| Looping | Repeats playback (ambience, music) |
Effects Belong Outside the Cue
This one trips people up. There is no node inside a Sound Cue for applying reverb or delay.

A Sound Cue is responsible for which sound plays, at what pitch and volume. Effects that process the audio are applied through separate systems.
| System | What It Affects | When to Use It |
|---|---|---|
| Audio Volume | Everything while you're inside that space | Cave or interior reverb |
| Submix Effect | All audio routed through that Submix | Compressor across the whole music bus |
| Source Effect | Individual sound sources | Distorting one specific sound |
| Sound Class | A whole category | Lowering only SFX volume |
Audio Volume in particular is worth remembering. Place a volume in your cave, set up reverb, and it only echoes while the player is inside. The sound assets need no changes at all.
Why keep them separate? "Echoing in a cave" isn't a property of the sound, it's a property of the place. Bake cave reverb into your footstep Cue and it'll echo outdoors too. Keeping sounds as sounds and spaces as spaces is the natural split.
Distance-based attenuation and turning down just the music with a Submix are covered in detail in 3D Sound and Mixing in UE5.
Hands-On: Footsteps That Never Sound Repetitive
Running in an action game, sneaking in a horror game, crossing the overworld in an RPG. Footsteps are the sound a player hears for the longest total time. If they're monotonous, the whole game feels cheap.
Setup: prepare three to five footstep source files. Free assets work, and so do a few different slices of the same recording.
| Type | Name | Contents |
|---|---|---|
| Sound Wave | SW_Footstep_01 – 03 | Footstep source audio (imported) |
| Sound Cue | SC_Footstep | What we're about to build |
| Animation Sequence | Walk and run animations | Where the notifies go |
Step 1: Create the Sound Cue. Right-click in the Content Browser → Sounds → Sound Cue. Name it SC_Footstep and open it.
Step 2: Add variation with Random. Drag a Random node from the palette into the graph.
Select SW_Footstep_01 through 03 in the Content Browser and drag them straight into the Sound Cue editor. Three Sound Wave nodes appear. Wire each output into the Random node's inputs.
The Random node's input pins grow automatically as you connect to them. If you need more, right-click the node and choose
Add Input.
Step 3: Add jitter with Modulator. Place a Modulator node and connect Random's output to it. Then set the jitter ranges in the Details panel.
| Property | Value | Meaning |
|---|---|---|
| Pitch Min | 0.92 | Lowest possible pitch |
| Pitch Max | 1.08 | Highest possible pitch |
| Volume Min | 0.85 | Quietest possible |
| Volume Max | 1.0 | Loudest possible |
Keep pitch within about ±10%. Go wider and it starts sounding like a different creature walking.
Finally, connect the Modulator's output to the Output node.

Step 4: Check it right there. Hit Play Cue in the Sound Cue editor toolbar, and press it repeatedly. If each press sounds slightly different, it's working. One listen tells you nothing. The effect only shows up across repetitions, which is exactly the point of this setup.
Step 5: Trigger it from animation. Footsteps shouldn't be timed with a Blueprint timer. The natural trigger is the moment the foot hits the ground.
Open the walk Animation Sequence and add a Notify on the frame where the foot lands. Right-click the Notifies track under the timeline → Add Notify → Play Sound, then set Sound to SC_Footstep in that notify's Details panel. The Notify mechanism itself (the types, and how to make a custom notify) is covered in detail in Animation Montage Basics: Timing Hitboxes with Notifies.
Do the same on the frame where the other foot lands, and repeat for the run animation.
Hit Play and walk around. If footsteps land in sync with the feet and sound slightly different every time, you're done.
If something's off, here's how to narrow it down.
- No sound at all → The notify's
Soundis empty, or that animation isn't actually playing - Out of sync with the feet → Adjust which frame the notify sits on
- No audible variation → The Modulator range is too narrow, or your source files are too similar. Widen pitch to ±15% to confirm it's working, then dial it back
- Sounds overlap when running → Add notifies to the run animation and check that the walk notifies aren't firing on top of them
Two things to take away.
- Keep randomization inside the asset: Write random numbers in Blueprint and you'll be editing gameplay code every time you tune audio. Keep it inside the Cue and audio tuning stays entirely in audio files
- Let animation own the timing: Driving footsteps from
Event TickorDelayguarantees drift the moment movement speed changes. Tie them to the actual fact of the foot landing (see Introduction to Animation Blueprints)
When you want different sounds per surface material, replace the Play Sound notify with a custom notify, trace downward from the foot in Blueprint to identify the material, and pick a Cue from there.
Bonus: Good to Know for Later
For anything new, consider MetaSound. UE5 ships MetaSound, the successor to Sound Cue, and that's where Epic's development effort has gone. It's close to a superset of Sound Cue, and it's especially good at dynamic work like passing parameters at runtime to change a sound as it plays.
That said, Sound Cue hasn't gone anywhere, and the concepts (pick a source, modulate it, output it) carry over. Learning the system with Sound Cue first makes MetaSound much faster to pick up. How it differs from Sound Cue, and how to change a sound at runtime by passing parameters from outside, is covered in MetaSounds in UE5.
Don't push Volume Multiplier past 1.0 to fix quiet audio. Setting a playback node's Volume Multiplier above 1.0 causes clipping. If something sounds too quiet, look at the source file's own level or adjust it via Sound Class first.
There's a cap on how many sounds play at once. In a scene where a horde of enemies all produce footsteps, anything past the limit simply won't play. A Sound Concurrency setting lets you declare "at most N of this kind of sound," which is worth configuring for noisy incidental SFX.
For looping ambience, check the Sound Wave's import settings. For something like a flowing river, either enable Looping on the Sound Wave or use the Sound Cue's Looping node. Skip that and loop it from Blueprint instead, and you'll get an audible click at the seam.
Summary
Think of the responsibilities as three layers and you won't get lost.
| Layer | Responsibility | Example |
|---|---|---|
| Sound Wave | The audio itself | The recorded footstep .wav |
| Sound Cue | How it plays (select, jitter, mix) | Random + Modulator |
| Submix / Audio Volume | Space and global processing | Cave reverb |
And one practical rule: any sound that repeats should be a Cue. Footsteps, gunshots, and impacts change character just by passing through Random and Modulator. A few minutes of work for an outsized payoff.
Which sound does your player hear the most in your game?