Prefab MidiInReader

MidiInReader is a Prefab, available with the Pro version, which can be used to read MIDI events from your MIDI keyboard connected to your computer. Moreover, without any scripting, you can play audio directly with the MPTK Synth. By script, you can process each MIDI Events to do … what you want to do !

Only one MidiInReader is allowed by project. There is no sense to have more than one !

This prefab is build upon the class MidiKeyBoard. Use this class if you need also to send MIDI messages to the device. The prefab MidiInReader is specialized to read MIDI messages from a MIDI device.


For connecting external MIDI device, Unity needs a plugin in order to propose core functions as list, select, open devices, write or read Midi messages.

See here how-to setup the Maestro MIDI keyboard plugin.

Maestro version equal or after 2.85 is required for this plugin.

Known limitations

  • Available for Windows 10 64 bits and MacOs 10.1 and after
  • Not available on Android and IOs.
  • Not able to process Sysex messages (perhaps in the future if there is a need)


  • Read Midi Events: Midi events from the keyboard are read.
  • Log Midi Events: log information about events in console.
  • Send To MPTK Synth: midi events are played in real time with the internal MPTK synth.
  • On Event Input Midi: be notified when a new event is read from your keyboard. Trigger a method in your script and do … what you want to do !
    For example, in the demo, each events are displayed and play with the MPTK Synth.

When running the TestMidiInReader demo:

With this demo, all the MIDI events are read from the MIDI device then displayed and played with the MPTK Synth.

Read MIDI events from an external MIDI device
Read MIDI events from an external MIDI device

Others Foldout