MetaSound Playground

What is MetaSound Playground?

MetaSound Playground is an editor tool for Unreal Engine 5 that lets you audition and edit MetaSounds in real-time—without entering Play mode. It provides spatial audio visualization, parameter editing, and a self-contained environment for rapid sound design iteration.

Key Benefits:

  • Hear changes instantly without pressing Play
  • Visualize attenuation, spatialization, and air absorption
  • Edit MetaSound parameters with knobs and sliders
  • Create audio event sequences with the Event system

Getting Started

Opening the Playground

  1. Open the tool via Window → MetaSound Playground (or your custom menu location)
  2. The window automatically enables real-time audio in the editor
  3. Select a MetaSound from the dropdown at the top
  4. Press Play (or Spacebar) to hear it

Sound Selection

  • Use the dropdown picker to choose a MetaSound or Event asset
  • Use the ◀ ▶ arrows to browse through all MetaSounds in your project
  • Enable AutoPlay to automatically play sounds when selected

Transport Controls

The transport bar provides DAW-style playback controls:

ButtonFunction
PlayStart playback
PausePause current playback
StopStop all playback
LoopToggle looping on/off

Play Key Behavior

Choose how the Play button/key behaves:

  • Retrigger: Always restart the sound from the beginning
  • Toggle Pause: Play pauses/resumes (DAW-style)
  • Toggle Stop: Play toggles between playing and stopped

Looping Options

  • Normal (Play Until Finish): Wait for the sound to complete before replaying
  • Custom Interval: Retrigger every X seconds (adjustable with the numeric input)

Playback Modes

  • Monophonic (Retrigger): One sound at a time—new triggers stop the previous instance
  • Polyphonic (Spawn Pool): Sounds overlap—new triggers spawn additional instances that play simultaneously

Spatial Visualization (XY Pad)

The XY Pad is an interactive top-down view of your sound's spatial behavior.

Controls

  • Click and drag the magenta dot to move the sound source position
  • Zoom presets: Auto, or 10m, 25m, 50m, 100m, 150m, 300m, 500m, 1000m, 2000m. Auto keeps the whole attenuation range in view as you change it.
  • Toggle visibility for individual ring types via the view options

Visualization Rings

RingColorMeaning
Inner RadiusBlueDistance where attenuation starts
Falloff DistanceBlueMaximum audible distance
Non-Spatialized RadiusRedFull volume zone (no spatialization)
Air AbsorptionGreenDistance-based filter effect range

Grid Lines

The pad displays distance grid lines for spatial reference:

  • Fine lines every 10 meters
  • Prominent lines every 50 meters

Coordinate Display

The HUD shows:

  • Distance: Current distance from listener (meters)
  • X, Y: World position coordinates (meters)
  • dB: Calculated volume attenuation (when playing)

Settings Warnings

The tool detects and displays warnings for common attenuation configuration issues, such as an inner radius larger than the falloff distance.


Attenuation Curve Graph

A 2D side-view graph showing volume (dB) vs. distance (meters).

  • Blue curve: The attenuation falloff function
  • Red dot: Current sound position on the curve (moves as you drag the XY pad)
  • Vertical markers: Inner radius, falloff, and other key distances
  • Air absorption frequency: Displayed at top when air absorption is enabled, showing calculated low-pass and high-pass filter cutoff frequencies

Parameter Panel

Edit MetaSound input parameters in real-time.

Supported Parameter Types

TypeControl
FloatKnob or slider with range
IntNumeric input with stepper buttons
BoolToggle checkbox
TriggerButton to fire the trigger
StringText input field
EnumDropdown selector

Edit Mode vs. Playback Mode

  • Playback Mode (default): Changes are temporary—only affect the currently playing sound instance
  • Edit Mode: Changes are saved directly to the MetaSound asset's default values

Toggle Edit Mode to make permanent changes to your MetaSound without leaving the Playground.

Sorting & Filtering

Sorting options:

  • Group By Type (Default)
  • MetaSound Order (sort order defined in the MetaSound itself)
  • Name A–Z
  • Name Z–A
  • Type → Name

Filtering: Show only parameters of a specific type using the type filter dropdown.

Parameter Ranges

The tool automatically suggests appropriate ranges for common parameter names:

Parameter KeywordsSuggested RangeScale
hz, freq, frequency, cutoff20–20,000Logarithmic
db, gain, level, volume0–1Linear
mix, amount, blend, wet, dry0–1Linear
attack, release, decay, time0–5 secondsLinear
q, reso, resonance0.1–10Linear
pan, balance-1 to 1Linear
pitch, semitone, transpose-12 to 12Linear
bpm, tempo40–240Linear
rpm0–10,000Linear
distance0–100,000Linear
feedback0–1Linear

Custom Ranges: Right-click any float parameter to set a custom min/max range, including logarithmic scale option. Custom ranges are saved per-asset and persist between sessions.

UI Styles

Choose between two visual styles in Project Settings:

  • Audio Material Widgets: Modern knobs and sliders with professional audio aesthetics (requires UE 5.5+)
  • Slate Fallback: Standard Slate controls for compatibility

Attenuation Panel

Edit the linked SoundAttenuation asset directly within the Playground.

Features

  • Details Panel: Standard Unreal Engine property editor showing all attenuation properties
  • Real-time Updates: Changes instantly update the XY Pad and curve visualizations
  • Browse Attenuation: Use ◀ ▶ arrows to browse through all attenuation assets in your project
  • Override Detection: Shows when the MetaSound is using an overridden attenuation asset vs. the base asset

Event System

Create scripted audio sequences with Playground Events.

What is a Playground Event?

A Playground Event is a data asset containing a list of timed entries that spawn, move, modify, or stop sounds. Useful for prototyping audio behaviors like:

  • Projectile whoosh-by sequences
  • Ambient sound patterns with multiple sources
  • Complex layered audio events
  • Spatial audio movement tests

Entry Types

TypeIconDescription
Spawn🔊Spawn a MetaSound instance at a position
Move➡️Animate a spawn to a new position over time
Parameter🎛️Modify a parameter on a running spawn
Stop⏹️Stop a spawn, immediately or over a fade-out

Entry Configuration

Common to all entries:

  • Delay: Time in seconds from event start when this entry executes

Spawn entries:

  • MetaSound: Which sound to spawn
  • Position: Offset in meters from reference point
  • Position Reference: Emitter (XY Pad controlled) or Listener (fixed relative to camera)
  • Spawn Type: Attached (follows reference) or At Location (static world position)
  • Volume Multiplier: 0–2x volume adjustment
  • Loop: Enable per-spawn looping with mode and interval
  • Parameter Overrides: Set initial parameter values for this spawn

Move entries:

  • Target Spawn: Which spawn entry to move
  • Target Position: Destination in meters
  • Duration: How long the move takes (0 = instant teleport)
  • Easing Function: Linear, ease-in, ease-out, etc.
  • Resulting Spawn Type: Whether the sound stays attached or becomes static after moving

Parameter entries:

  • Target Spawn: Which spawn entry to modify
  • Parameter Name: The parameter to change
  • Value: New value for the parameter
  • Interpolation: Duration for smooth value transitions (numeric types only)

Stop entries:

  • Target Spawn: Which spawn entry to stop
  • Fade (s): Fade-out duration in seconds. 0 stops the sound immediately; any higher value fades it to silence over that time. Looping is cancelled when the stop fires, and the event only reports as finished once the fade tail has completed.

Creating an Event

  1. Right-click in Content Browser → Audio → Playground Event Asset
  2. Select the event in the Playground sound picker dropdown
  3. Add entries using the + Spawn, + Move, + Parameter, + Stop buttons
  4. Configure each entry's timing, position, and parameters
  5. Press Play to audition the complete sequence

XY Pad Event Markers

When an Event is selected, the XY Pad displays markers for each entry's position:

  • Cyan dots: Spawn entry positions
  • Orange dots: Move entry target positions
  • Yellow highlight: Currently selected entry
  • Click markers to select entries in the list

World Modes

The Playground can play audio in different world contexts:

ModeDescription
Preview WorldSelf-contained preview scene (default, recommended)
Editor WorldUses your current level editor world
PIE WorldAutomatically available when Play-In-Editor is active

The listener position follows your active editor camera, so you can navigate in your level viewport and hear how sounds respond to camera movement.

3D Spawn Indicators

When playing sounds, glowing sphere indicators appear in the 3D viewport at the spawn positions:

  • Magenta spheres: Active, controllable spawn (follows XY Pad)
  • Purple spheres: "Left behind" spawns in Polyphonic mode
  • Pulse animation: Visual flash when sounds spawn

Hotkeys

Default Hotkeys

KeyAction
SpacebarPlay
Shift + SpacebarStop
Ctrl + LToggle Loop

What Spacebar does when a sound is already playing depends on the Play Key Behavior setting (see Play Key Behavior): it retriggers, toggles pause, or toggles stop. Shift + Spacebar always stops, whatever that setting is.

Hotkey Routing Policies

Configure when global hotkeys are active (Project Settings → Plugins → MetaSound Playground):

PolicyBehavior
Window Focus OnlyHotkeys only work when Playground window has focus
Window Open (Global)Hotkeys work anywhere while Playground window is open
Global (Except When MetaSound Editor Open)Global, but requires focus when MetaSound Editor is open

Parameter Hotkeys

Bind keyboard shortcuts to individual parameters:

  1. Open the Manage Hotkeys dialog from the parameter panel
  2. Click on a parameter row
  3. Press your desired key combination (with modifiers like Ctrl, Shift, Alt)
  4. The hotkey is saved and persists between sessions

Press the assigned hotkey to cycle through parameter values or trigger buttons.


Settings

Access Playground settings via Project Settings → Plugins → MetaSound Playground.

Appearance

SettingOptionsDescription
Parameter UI StyleAudio Material Widgets, Slate FallbackVisual style for parameter controls

Hotkeys

SettingOptionsDescription
Hotkey Routing PolicyWindow Focus Only, Window Open (Global), Global (Except When MetaSound Editor Open)When global hotkeys are active
Parameter Hotkey Bindings(list)Saved hotkey assignments for parameters

Parameter Ranges

SettingDescription
Asset Parameter Range OverridesCustom min/max ranges saved per-asset and per-parameter

Tips & Tricks

  • Quick iteration: Enable AutoPlay and use the browse arrows to rapidly audition multiple MetaSounds
  • A/B testing: Use Polyphonic mode to layer sounds and compare them simultaneously
  • Spatial debugging: Watch the 3D spawn indicators in your level editor viewport while dragging the XY Pad
  • Parameter discovery: Sort by "MetaSound Order" to see parameters in their authored order
  • Edit safely: Stay in Playback Mode until you're ready to commit changes to the asset
  • Custom ranges: Set logarithmic ranges for frequency parameters for more intuitive control
  • Event prototyping: Use Events to test complex audio sequences before implementing them in gameplay code

Requirements

  • Unreal Engine: 5.2 – 5.8
  • Platform: Windows and macOS (editor only — the plugin adds nothing to packaged builds)
  • Required Plugins (all ship with Unreal Engine):
    • MetaSound
    • ModelViewViewModel
    • AudioWidgets
  • Version-gated features — these require UE 5.5 or newer:
    • Edit Mode (writing tuned parameter values back into the MetaSound asset)
    • Reading parameter ranges authored on the MetaSound itself
    • The Audio Material knob/slider UI style (the Slate fallback style is used below 5.5)

On UE 5.2 the non-spatialized zone is drawn as a single ring rather than a start/end band, because 5.2's attenuation model has one OmniRadius value instead of two. Everything else — spatial audition, the attenuation curve, live parameters, transport and the event system — works on every supported version.


Troubleshooting

No sound is playing

  • Ensure real-time audio is enabled (should happen automatically when opening the window)
  • Check that a MetaSound is selected in the dropdown
  • Verify the MetaSound has valid audio output

Parameters not updating

  • Make sure you're in the correct mode (Edit Mode for permanent changes)
  • Check that the parameter type is supported

XY Pad rings not visible

  • Ensure the MetaSound has a SoundAttenuation asset assigned
  • Check the toggle visibility options for each ring type

Hotkeys not working

  • Verify the Hotkey Routing Policy setting
  • Ensure no text input fields have focus
  • Check for conflicting editor hotkeys

Version History

1.0.3

  • Support for Unreal Engine 5.2 through 5.8, all version-gated so each engine gets the features it can actually run
  • macOS support (verified on UE 5.6)
  • Editable Fade (s) field on Stop entries
  • Fixed two warnings and a class-initialization error that appeared in the Output Log on editor start

1.0.2

  • Stop entries now fade out: set Fade (s) on a Stop entry to fade the sound to silence instead of cutting it. The event reports as finished only once the tail completes.
  • Added UE 5.8 support
  • Fixed parameter values from a previously selected MetaSound carrying over onto a different asset with same-named parameters
  • Removed unused bundled assets; added the Montserrat SIL Open Font License text

1.0.1

  • Initial public release
  • MVVM architecture implementation
  • Event system with Spawn, Move, Parameter, and Stop entries
  • Preview world with 3D spawn indicators
  • Parameter range heuristics and custom ranges
  • Hotkey management system
  • Audio Material widget support (UE 5.5+)