UE5 MetaSound: sources, patches and Blueprint parameters
By the Cosindra team · Updated August 7, 2026
MetaSound is Unreal Engine 5’s replacement for Sound Cues: a node graph that generates and processes audio at sample level, rather than a decision tree that picks between recorded files. It is the difference between choosing one of five footstep samples and synthesising a footstep that varies with surface and speed.
This guide covers the Source/Patch split that decides what you can actually play, how a graph becomes something Blueprint can control, and the two reasons a correct-looking graph produces silence.
Source or Patch
A MetaSound Source is playable. It has an output that produces audio and can be assigned to an audio component like any other sound asset.
A MetaSound Patch is a reusable subgraph. It cannot be played on its own; it exists to be dropped inside other graphs, the way a function exists to be called. Building a filter chain once as a Patch and using it in six Sources is the intended workflow.
Picking the wrong one is a common first mistake, and the symptom is confusing: the asset is correct, sounds right when auditioned inside the editor, and cannot be assigned anywhere.
A minimal graph is smaller than it looks
A tone is three nodes: an oscillator producing a waveform, an envelope shaping its volume over time so it does not click on and off, and a gain stage before the output. Everything more elaborate is that chain with more of it.
The part that catches people is the trigger. Audio does not start because the asset was assigned — an On Play trigger has to reach the envelope, or the graph runs and produces nothing audible. Wiring triggers is as much of the graph as wiring audio.
Parameters have to be exposed
A value inside the graph is invisible to the rest of the engine. To set it from Blueprint at runtime, it has to be promoted to a graph input — at which point it becomes a named parameter that gameplay code can set on the playing sound.
This is what makes MetaSound worth the setup. An engine sound with an RPM input, a footstep with a surface-type input, an ambience with a wind-strength input — one asset that responds to the game continuously, rather than a folder of variants and logic choosing between them.
The editor calls that build it
| # | Tool | What it does |
|---|---|---|
| 1 | create_metasound | Creates the MetaSound Source asset |
| 2 | add_metasound_node | Adds a node by class name — Oscillator, Envelope, Gain |
| 3 | connect_metasound_nodes | Connects nodes by their source and target pins |
| 4 | set_metasound_param | Sets a parameter value on the asset |
| 5 | play_metasound_preview | Auditions it through the editor’s audio device |
| 6 | get_metasound_info | Reads duration, channels, node count and the input/output list |
Why it is silent
Two causes cover nearly all of it. The chain never reaches the graph’s audio output, so everything computes correctly into nothing — easy to miss when the last visible node looks like the end of the graph. Or no trigger reaches the envelope, so the amplitude stays at zero for a graph that is otherwise running.
Both look identical from outside: an asset that exists, previews without error, and makes no sound. Check the output connection first, then follow the trigger path back from the envelope.
Put an AI copilot inside your editor
The free Cosindra desktop app connects to your UE 5.7/5.8 project — the assistant works in your open editor, and what you generate with the web tools applies straight into it. Windows & macOS.
Download CosindraFrequently asked questions
What is the difference between a MetaSound Source and a MetaSound Patch?
A Source is playable — it produces audio output and can be assigned to an audio component like any other sound asset. A Patch is a reusable subgraph that only exists to be used inside other graphs, the way a function exists to be called. If you built a Patch expecting to play it, the symptom is an asset that auditions correctly in the editor and cannot be assigned anywhere.
How do I change a MetaSound parameter from Blueprint?
The value has to be promoted to a graph input first. A number sitting inside the graph is invisible to the rest of the engine; promoting it makes it a named parameter that gameplay code can set on the playing sound. This is the whole point of MetaSound over Sound Cues — an engine sound with an RPM input responds continuously, instead of switching between a handful of pre-recorded variants.
Should I use MetaSound or Sound Cue in UE5?
Sound Cue picks between recorded assets — random variation, distance branching, simple modulation — and remains perfectly reasonable for that. MetaSound generates and processes audio at sample level and takes live parameters, which is what you want when the sound has to respond to a continuous value: engine RPM, wind strength, surface type. Sound Cue chooses a sample; MetaSound builds one.