Live Edtor plug-in tutorial(ish)

The Live Editor plugin is in a bit a catch 22:

It sounds potentially very useful, but is in an experimental state.
Because it’s experimental, there’s no documentation.
Because there’s no documentation, no one knows how to use it.
Because no one knows how to use it, nobody’s trying it.
Because nobody’s trying it, there’s not enough noise made about it to get it given more attention and take it out of the experimental phase.

I got it to work (with a caveat) in 4.13, so I thought I’d share the steps.

  1. Enable the plugin

Duh. It’s located in Edit> Plugins > Input Devices.

Enable Live Editor and Live Editor Listen Server (I’m not entirely sure the server is necessary for a single user use case).

You may have to restart the editor.

  1. Create the blueprint

The Live Editor plugin contains a new type of class called LiveEditorBlueprint.

This is where the work is actually done.

Create a new Blueprint Class that inherits from LiveEditorBlueprint.

Then, you’ll need to override the On Init event and register the events you want to listen to. Example:

2016-11-06 20_21_25-TEst_.png&stc=1

The parameters on the Register for Live Edit Event node work as follows:

  • Event Name: the name of the Custom Event you want to register.
  • Description: when the time comes to bind MIDI controls to events, the binding wizard will use display that description
  • Permitted Bindings: what type of control you’ll accept for this event. In a nutshell: Continuous = dial, Fixed = slider, Note On/Off = button.

Once you’ve done this, you need your blueprint to actually do something. Add a Custom Event of the appropriate name, with the following inputs, and do whatever you want with it. In my example, I’m going to modify the intensity of the currently selected light in increments of 5 units.

&stc=1

Delta: For continuous controls, it returns 1 if you turn the dial to the right, -1 if you turn it to the left. For fixed control, returns the difference between the current and the previous value of the controller.
**Midi Value: **The actual action value sent by the MIDI controller. You most likely don’t need to care about this.
Control type: The type of control that triggered the event. Remember that you can bind several types of control to the same event, and you might want it to behave differently depending on how the event was called.

Repeat the operation for every event you wish to set up.

  1. Set up the MIDI controller

I actually don’t have a MIDI controller, but Android phones can act as MIDI controllers when plugged via USB. So I just download a MIDI controller app to do my tests.

Assuming your MIDI controller is plugged in and in working condition, go to Window > Developer Tools > Live Editor.

Your controller should show up in the list of devices. If it doesn’t, I can’t help you.

2016-11-06 20_54_10-Live Editor.png&stc=1

Next, you need to configure it. Simply follow the instructions (endless encoders means dials and sliders) and you should end up with something like this:

2016-11-06 20_57_19-Live Editor.png&stc=1

This essentially tells Unreal what MIDI signals to interpret as button presses and dial turns.

  1. Bind blueprints to controls.

Nearly there.

Select your custom LiveEditorBlueprint in the Content Browser, then in the Live Editor Window, click on Select Blueprint. Your blueprint should now be added to the list. As you can see, you can several LiveEditorlueprints, so you can keep things organised.

2016-11-06 21_04_06-Live Editor.png&stc=1

Click Bind. NOTE: If the blueprint you’ve selected doesn’t do a Register for Live Edit Event, Unreal WILL crash.

For each event you’ve set up, the Live Editor will ask you to tell it which button/knob to map the event to. You do this by just pressing/turning the appropriate control on your controller.

2016-11-06 21_06_13-Live Editor.png&stc=1

Once you’ve done this, click the Activate button on the blueprint and voilà.

This works both in Editor and in Simulate mode.

  1. Profit?

So what about the caveat I mentioned at the beginning?

In my example, while the MIDI controller modifies the light Intensity property as expected (you can see the value change in the details panel), the change isn’t actually reflected in the viewport until I touch the actor in some way (by moving it, or by changing another property the conventional way), even though my viewport is set to real time.

Not a massive deal, but if I need to nudge the actor whenever I do this, I’m kind of losing the point of doing all this.

But anyway, I hope this will encourage people to try it, and if they like it to request that more work gets done on it. I certainly would.

I tried and failed to use this when I was first learning UE. I use an OSC setup now. Just so you know - In the livestream the other day Mike Fricker said they’ve pulled the plugin from further releases (4.14+) but they now have a MIDI plugin.

You mean I just spent an hour writing this for nothing? :frowning:

On the other hand, it doesn’t look like the new MIDI plugin is equipped to modify actors at editor time, which was the main draw for me.

Thanks for explanation, Mougli. It will interesting how it works in 4.14, as I know, there is a Midi Device Plugin and have no more Live Editor.

I was try today to prepare some test with my midi interface and can say - Thank you a lot! It`s working on 4.13!

Here is some screenshots that assign to my notes C,D,E,F,G,A and B on midi keyboard.

also:

Also I still fighting to understand how newest Midi Device Plugin works at 4.14. Thanks for your help!

My Thread is here - Need support for Midi Device Plugin in UE4.14

Hey guys do you where does the Live Editor Plugin is now 4.18? I don’t find it in the Plugins…