In this post I’m going to show you how to create latent Blueprint nodes that have multiple execution pins inside the Editor! The code in this post is written in version 4.26 so depending on your version you may need to perform a few changes.

Download the source code from my GitHub repo

Creating a latent node with multiple output pins

In this section, we’re going to create a latent node which will tick a few times depending on our input. For demonstration purposes, we’re going to create a node that will calculate a few fibonacci numbers in each tick.

Fortunately, it’s quite easy to create nodes with multiple output pins. To do that, create a new C++ class that inherits the BlueprintAsyncActionBase and add the following code to its header file:

Then, in the source file, add the following code:

Compile your code and search for BPAsync Node somewhere in your blueprint graph:

(Click on image to enlarge)

If the node doesn’t appear, restart the editor.

Creating a latent node with multiple input pins

To create a latent node with multiple inputs we need the following:

  • A way to specify the input pins
  • The logic of what’s going to happen once each pin has fired

To demonstrate this kind of node, we’re going to create a function that interpolates an actor between two locations simulating a ping pong effect.

From the engine’s class wizard, create a new C++ class which doesn’t inherit anything and add the following code:

Once you’re done with this code, add a new Blueprint Function Library class in your project and type in the following code:

Then, inside the source file add the following code:

At this point, you can compile your code and test the ping pong action we have created! You can open up any blueprint graph and search for the PingPong node (if the node doesn’t appear, you may need to restart your editor).

To sum up, in order to create a node with multiple input execution pins we created:

  • An “Action” class which is performing the logic of what’s happening when each pin fires and
  • An Enum which allows us to expose the different options in the UE Editor
Ping Pong node