How to setup Reaper to send MIDI to Unreal Engine.
If you are looking to use OSC instead, take a look at daw-out.
Setting up Reaper🔗
-
Install loopMIDI (This allows us to create a loopback MIDI device)
-
Add a new MIDI device in loopMIDI called
unreal_port
-
Enable new MIDI output in Reaper via Options -> Preferences -> Audio -> MIDI Devices
Only enable the MIDI Output
- Setup MIDI output routing per track via:
OR
Routing Matrix (View -> Routing Matrix)
Track routing settings (IO button on track)
Set each track to a separate MIDI channel, so each track number maps to its corresponding channel number.
Setting up Unreal Engine🔗
Based on this forum thread
-
Enable MIDI Device Support Plugin
-
Import Midi Blueprints
-
Create Blueprint Interface with
OnNoteActionandOffNoteActionfunctions calledMidiListener -
Set Game Instance Class via Edit -> Project Settings -> Maps & Modes -> Game Instance -> Game Instance Class
-
Set
MidiDeviceIdinMidiManagerto map to the output ofunreal_port(You can find this out from the debug logs in the console) -
Place
MidiDebugin the scene to print note debug information to the console -
Place
TestListenerin the scene and setMidiChannelto whichever track # in Reaper
Test it out🔗
If you have added MIDI to the track, set the MidiInput number and MidiChannel number on the TestListener. Hit play in Unreal Engine and then Play in Reaper, the TestListener cube should respond to MIDI input.