Works in Unreal Engine 5.0 to 5.8. Updated November 2026.
Quick answer: analyse the sound Unreal is playing, then use the numbers to drive your visuals. In Blueprints:
- On BeginPlay, call Start Analyzing Output (leave Submix To Analyze empty for everything you hear).
- On Tick, call Get Magnitude for Frequencies with a list of frequencies, for example 60, 250, 1000, 4000 and 10000 Hz.
- Use each returned magnitude to set a mesh’s scale, a light’s intensity or a material parameter.
Two ways to react to music
| Approach | What it knows | Best for |
|---|---|---|
| Audio analysis (this tutorial) | How loud each frequency band is right now | Any song or sound, spectrum bars, pulsing lights |
| MIDI | The exact notes, when they start and how hard | Piano roll, falling notes, rhythm games, effects that match each note |
Audio analysis works with any sound file. It can’t tell you which note was played. If you need that, use MIDI (see the end of this tutorial).
Step 1: Start the analysis
In your visualizer actor’s Event BeginPlay, add Start Analyzing Output.
- Submix To Analyze: empty for the main output, or a submix you route your music to.
- FFT Size: Medium is a good start. Larger means more detail but more delay.
Step 2: Read the frequency bands each frame
- Make an array variable
Bandsof floats: 60, 250, 1000, 4000, 10000. - On Event Tick, call Get Magnitude for Frequencies with
Bands. It returns a Magnitudes array of the same length. - For each index, use the magnitude to drive something. For example, Set Relative Scale 3D on bar
iwith Z =1 + Magnitude × Strength.
Step 3: Make it look good
- Smooth it: use FInterp To from the current value to the new one, so bars don’t jitter.
- Scale per band: bass has much more energy than treble. Give the high bands a bigger multiplier.
- Drive materials: send the values to a Material Parameter Collection to make many objects pulse together cheaply.
The values depend on volume. If you lower the music volume, the visualizer shrinks too. Analyse a submix that only carries the music if you don’t want sound effects mixed in.
Baking the analysis instead
For a fixed song, the built-in Audio Synesthesia plugin can analyse a Sound Wave ahead of time (loudness, Constant-Q spectrum, onsets). That’s more stable than live analysis, but it only works for sounds you know in advance.
We drive visuals from MIDI note events in our MIDI Engine 4 PRO plugin.
FAQ
Get Magnitude for Frequencies always returns 0. Start Analyzing Output must run first, and something must be playing through that submix.
Can I visualize a microphone? Yes. Route the audio capture to a submix and analyse that submix.
Does this work in a packaged game? Yes, on all platforms that use the Unreal audio mixer.