Version 1.6 is coming next week.
I am sorry for the long wait since 1.5. You have not been forgotten about, and I think you will love this release. See what is new
Get To Know The Plugin
VJ master is an AIO toolkit for audio analysis, control and visualisation.
It is a UE5 plugin, packed with custom material expressions, niagara data interfaces and many examples such as a reactive boids compute shader. I have included some helpful tools for integrating common protocols such as MIDI, OSC, UDP/TCP and DMX (ArtNet, Sacn).
It is industry-proven, currently running in a permanent art installation in Germany.
After trying a handful of marketplace plugins for different installations, I kept finding gaps. So I built this to finally have something that worked the way I needed.


Decide If It Is For You
You would need at least an intermediate proficiency in UE5 for this plugin to be useful to you.
From blueprints, you can hook into the output of the analysis through an interface without going near the backend.
All algorithms are written in C++ but are totally configurable from the project settings. However, if you were to change how the analysis is carried out or to extend it with your own algorithms then you will need to write code.
Code comments, plugin documentation and plugin support are in English language.
Features
Audio Control
Material To DMX
MIDI
Easy-to-use interfaces that combine both Sending and Receiving
OSC
Material To OSC
Socket
Material To UDP/TCP
RenderTarget To UDP/TCP
Extends Engine Plugins
DMXEngine + DMXProtocol + DMXFixtures
OSC
MIDIDevice (optional from 1.6)
Audio Processing
Audio Capture via MiniAudio
Engine Submix Capture (1.6)
Analyse Unreal’s own audio output
Windowing
FFT via KISS FFT
Smoothing
Spectrum Analysis
Frequency Bands
Amplitude
Pitch
Beat Tracking
Spectral Flux Beats + BPM (1.6)
Supports
USoundWaveProcedural
Multichannel Analysis
Audio Visualisation
Custom Material Nodes (query the audio buffer)
MIDI Reactive Material Example
Post Process, UI and Render Target Materials (1.6)
Compute Shaders
Reactive Boids Example (rendered via Niagara)
Niagara
Frequency Bands Vis Example
Amplitudes Vis Example
Pitches Vis Example
Spectrogram Vis Example
Beat Tracking Vis Example
Niagara Data Interfaces
Audio Buffer
Waveform Colour Profiles
Sales Pitch
Fast & Reliable
It is currently running in a permanent art installation in Germany. It is designed to jumpstart your reactive project by getting all the boring stuff out of the way so you can work on creating fun visuals.
Supports Popular Protocols
Send over DMX over Art-Net & sACN.
Send/Receive over MIDI
Send/Receive over OSC
Send/Receive over UDP & TCP
Blueprintable
It is extremely easy to set up and configure. It is written in C++. but there are plenty of blueprint-exposed functions, properties and interfaces available for you to work with.
Easy Configuration
Configuration of the audio analysis can be carried out entirely from the project settings. Each IO process can be customised separately.
You would likely need some experience with C++ to make modifications to the plugin or do a commercial project, but there is enough there if you just want to start producing some cool reactive visuals quickly.
Compute Shader Support
I have provided you with a reactive boids example for reference. You will need C++ to work with compute shaders but you now can finally start porting across all those old Unity projects.
Your visuals will be able to react against multiple IO processes.
Multithreaded Analysis
The FFT analysis happens inside an easy to configure FRunnable. Each IO process will run on a different thread keeping your game thread as light as possible.
Lots of Settings
Windowing
Rectangular
Hann
Hamming
BlackmanHarris
Gaussian
Capture
Microphone
Engine Submix (1.6)
Noise
Pink
Brownian
Material Data Source (1.6)
Scene Buffer
Data Texture
Spectrum Spacing
Linear
OctaveSubdivision
Quadratic
Playback
Noise
Device Player
MA Sound Player
Spectrum Values
Peaks
Beat Detection
Spectral Flux (1.6)
Filters
ChebyshevTypeI
Waveforms
Square
Triangle
Sawtooth
Encoding Formats
Flac
MP3
Vorbis
Amplitude Source
Time Domain RMS (1.6)
Time Domain Peak (1.6)
Smoothing
Simple Moving Average
Envelope Attack/Release (1.6)
Sample Formats
S16
S24
S32
F32
Alpha Mapping
Logarithmic
Gamma
Gain (1.6)
Magnitude Normalisation
Overlapping Analysis Windows
Mission Statement
I want to provide you with a product you can enjoy working with and rely on to deliver your reactive projects.
Therefore, it is my priority to ensure that the plugin is stable and to be upfront and honest about the product’s capabilities and, more importantly, limitations.
Roadmap
Backlog
Android (VR) Support
From 1.6 the plugin is modular: MIDI lives in its own module and the MIDIDevice engine plugin is optional. Android and Quest still need work and testing.
Remove Playback & Capture Limits
See the caveats in the release notes. I will solve this.
In Progress
Vertex Factory
Feature
Create a vertex factory for the compute shader instead of using Niagara to render the particles.
On Hold
Release Notes
Version 1.6 (coming next week)
Feature | Capture Engine Submix: analyse the audio Unreal itself plays, on every platform
Feature | Material nodes now work in post process, UI and DrawMaterialToRenderTarget materials (new Data Source option, backed by an audio data texture)
Feature | Spectral flux beat detection with a median BPM (opt-in, the old energy ratio is still the default)
Feature | Envelope smoothing with separate attack and release times
Feature | Time domain amplitude (RMS or peak)
Feature | Auto gain, magnitude normalisation and overlapping analysis windows
Improvement | Loopback capture can listen to a named playback device, not just [System Default]
Improvement | Modular plugin: MIDI moved to ST_AudioControlMIDI, the LED / DMX / OSC / socket actors moved to ST_AudioVisControl
Improvement | MIDIDevice engine plugin is now optional
Improvement | All modules except MIDI now build for Linux
Improvement | Sound Wave Procedural accepts U8, S24 and S32 (converted to float)
Improvement | Recording to file no longer happens on the audio thread, and capture shuts down more safely
Improvement | The licence check no longer blocks the editor on startup
Supports: UE 5.8.x
Supports: UE 5.7.x
Supports: UE 5.6.x
Upgrade Warning
Classes have moved between modules. Blueprints and assets are redirected automatically. C++ projects that use the MIDI classes or the LED actors need to add ST_AudioControlMIDI and / or ST_AudioVisControl to their Build.cs.
EAudioIOType has been extended with CaptureEngineSubmix. It was added at the end, so existing values keep their meaning.
Caveats
Platform Restrictions
QA’d only on Windows 11 (64 bit) and Mac OS. Linux now builds (without MIDI) but has not been tested. iOS is not supported. Android and Quest VR have not been tested.
System Audio Capture
Loopback capture is still Windows only (WASAPI). On Mac OS, route audio through a virtual device such as BlackHole and select it as the microphone. Capture Engine Submix only hears audio that Unreal plays itself, not other applications.
MIDI
Windows and Mac OS only.
Playback & Capture Limits
Unchanged: one playback or capture per source type, so not more than one microphone at a time.
No Longer Apply
Post processing materials not supported. Loopback limited to [System Default]. Sound Wave Procedural limited to s16 and f32. MIDI blocking Linux builds.
Version 1.5 (03/01/2026)
Improvement | Mac OS Support
Improvement | Temporal decoupling for a more predictable latency
Supports: UE 5.8.x (FAB did not accept MACOS as it could not find MiniAudio, but adding it manually will work)
Supports: UE 5.7.x
Supports: UE 5.6.x
Supports: UE 5.5.x
Caveats
Platform Restrictions
Coded for and QA’d only on Windows 11 (64 bit) and Mac OS 15.6. All other platforms are not supported. Linux is blocked by the MIDI engine plugin dependency. Android and Quest VR need tweaking and have not been extensively tested.
Loopback Capture
Windows only (WASAPI), and only from the [System Default] device. Mac OS does not support loopback capture.
Post Processing Materials Not Supported
The material expressions sample the audio buffer through the Scene View Extension, which is not available in post processing or anything outside the usual scene rendering. DrawMaterialToRenderTarget is also affected.
Sound Wave Procedural Formats
Only s16 and f32 audio formats are supported. All other formats are ignored.
Playback & Capture Limits
Multiple playbacks and captures can run at the same time, providing they are all of different sources. You can capture microphone and loopback together, but not more than one microphone.
Version 1.4 (14/10/2025)
Improvement | Removed warning C4996 log spam from build.
Improvement | More interesting logs
Improvement | Const-correctness across codebase
Supports: UE 5.7.x
Supports: UE 5.6.x
Supports: UE 5.5.x
Caveats
As Version 1.5, plus Windows only (Mac OS support arrived in 1.5).
Version 1.3 (16/08/2025)
Feature | Added Noise Playback
Bug | Fixed issues with packing s24
Bug | Fixed player not looping
Improvement | More accurate beat detection and bpm counter
Improvement | General Refactor
Supports: UE 5.6.x
Supports: UE 5.5.x
Upgrade Warning
FFFTConfig is now UFFTConfig. IO FFTConfig has converted to a Data Asset to encourage shareability and a more data-driven workflow. Any FFT settings you had set in the project settings will now be lost upon upgrading.
EAudioIOType has been extended with PlaybackNoise, and consequently the enum order has changed. You might find that your code that used this enum might now have a different option selected.
Caveats
As Version 1.5, plus Windows only (Mac OS support arrived in 1.5).
Version 1.2 (21/06/2025)
Improvement | General Refactor
Supports: UE 5.6.x
Supports: UE 5.5.x
Caveats
As Version 1.5, plus Windows only (Mac OS support arrived in 1.5).
Version 1.1 (15/05/2025)
Feature | MultiChannel Analysis
Feature | Reactive MA Engine Playback
Feature | More Playback Waves
Feature | USoundWaveProcedural Support
BugFix | Fixed Broken Microphone Capture
BugFix | Fixed Broken Capture Formats
Supports: UE 5.5.x
Caveats
As Version 1.5, plus Windows only (Mac OS support arrived in 1.5).
Version 1.0 (28/04/2025)
The beginning of Time
Supports: UE 5.5.x
Caveats
As Version 1.5, plus Windows only (Mac OS support arrived in 1.5).



