Metasounds is Unreal Engine 5's procedural audio solution. They allow for more flexible audio design and implementation, offering advanced features and functionalities. With Metasounds, you can create complex audio behaviors and interactive sound systems in your Unreal projects.
- For purposes of sample-based audio manipulation, a MetaSound may be viewed as an evolution of the SoundCue class
- e.g. Playing one of several Footstep audio .wav files at random
- MetaSounds also allow for mathematical processing of audio signals to create dynamic audio
- e.g. Transforming a sine wave into an in-game UI click sound
Features & Concepts
Similar to Blueprint or SoundCues, MetaSounds allows a developer to compose the final audio product using a node-graph editor.
The MetaSound Graph functions a bit differently than the graph found in Blueprints. In Blueprints, the graph functions as an execution graph, while in MetaSounds, the graph functions as a flow graph.
Unlike Sound Cues, MetaSounds graph presents an audio engineer with a representation of Digital Signal Processing, from input to output. MetaSounds offers sample-accurate timing and control at the audio-buffer level. The MetaSound editor features a real-time meter on the output, in-graph widgets to control and visualize parameters (knobs and sliders), and buttons to interact with events in real time.
MetaSounds have three main asset types: MetaSound Source, MetaSound Patch, and the MetaSound Preset.
MetaSound Source files are capable of generating audio by themselves. They are presented in the MetaSound node graph editor and may contain various nodes (including MetaSound Patches).
MetaSound Patches are intended to be referenced by other MetaSounds to encapsulate and reuse functionality. Examples of a patch might include a series of nodes designed to play a random Wave audio from an array, with a random pitch shift. This behavior could be defined once in a patch and reused across many different MetaSound Sources in a project.
MetaSound Presets are a special type of asset that inherits a read-only graph from a parent MetaSound and provides the ability to override default Input values. This allows you to create multiple versions of the same MetaSound with different sets of Inputs, which can be helpful to decrease graph duplication.
With MetaSounds, you can re-use and reference their graphs through presets. Presets reference an existing MetaSound graph, and you can override the graph's inputs.
Epic Learning Content
- Intro to MetaSounds - Official Video Series from Epic Games with Matt Spendlove
- MetaSounds in UE5: From Miniguns to Music - Overview of MetaSounds with Chris Murphy
- Weapons in MetaSounds - Overview of MetaSounds usage in Unreal Engine Lyra Demo Project by Sweejtech's Gustav Rathsman
- MetaSounds Menagerie - GameSoundCon 2022 talk with Stefan Evrard