I’ve recently started toying with Unreal Engine to maybe, possibly, no promises, develop some sort of game – or at the very least learn how to do so. To simplify the task, I opted for the low-code “blueprints” option over C++. I figure the truly hard part is designing the game itself, in any case, so I might as well use the simpler option for the implementation.

I think I like blueprint development, however I noticed that it involves a lot of mouse interaction. More than I’d prefer.

I looked around and found a useful plugin, Blueprint Assist by fpwong. This tool adds a whole bunch of keyboard shortcuts that you can use to add nodes, assign values to node pins (inputs and outputs), automatically wire up nodes based on adjacency, and more.

I’m also using the PaperZD plugin by Critical Failure Studio. This plugin adds some classes that make it easier to create 2D resources including sprites and animations. It also comes with custom visual asset editors that are based on UE5’s default editor tools.

Out of the box, the two tools do not work together (much). That’s because PaperZD’s editors are not automatically recognized by Blueprint Assist. Thankfully, BA comes with enough debug tooling and customization options that it’s relatively easy to figure out how to fix that.

Note: I’m not documenting how the UE5 preferences work (how to add values to lists, etc). That’d add a lot of bulk to this post and I’m hoping if you’re reading this you already know how to use UE5.

How to make Blueprint Assist and PaperZD work together

Here’s what I did to connect the two:

  1. Make sure that Blueprint Assist and PaperZD plugins are both enabled in your project
  2. Have a PaperZD AnimBP resource somewhere (out of scope for this, see some useful courses below)
  3. Open Editor Preferences (Edit menu)
  4. In the left pane, scroll down to Blueprint Assist (not advanced or editor features)
  5. Add a new entry under “Supported Asset Editors” named `PaperZDAnimBPEditor``
Screenshot of the Supported Asset Editors section with PaperZD entry

Screenshot of the Supported Asset Editors section with PaperZD entry

  1. Under “Non Blueprint Formatter Settings” (you may have to expand “Other Graphs”) add three more elements using values from the table below
Non Blueprint Formatter Settings with PaperZD related values

Non Blueprint Formatter Settings with PaperZD related values

  1. (Re)open your PaperZD AnimBP resource
  2. Press ctrl-arrowkeys to navigate between nodes – check the command list for details

That’s it, pretty easy.

“Non Blueprint Formatter Settings” Settings

NameRoot Nodes
PaperZDAnimGraphPaperZDAnimGraphNode_Sink
PaperZDStateMachineGraphPaperZDStateGraphNode_Root
PaperZDAnimTransitionGraphPaperZDTransitionGraphNode_Result

There may be more, but these were all I’ve needed so far.

How to add more editors

This is relatively straightforward and involves the Blueprint Assist Debug Window. Open a regular, built-in blueprint that’s on a regular ol’ node (anything with an EventGraph will do). Above the graph you’ll see, between “Compile” and “Diff”, a button labeled “BP Assist”. Click that and then choose “Open Debug Menu”. There you’ll see a bunch of data about whatever your editor is focused on and whatever you’re hovering over.

With that debug window open, navigate to your PaperZD editor (or other editor that uses graphs – I don’t know of any myself) and either hover over what you consider a “root” node or anywhere in the graph. For AnimBPs I used the “Output Animation” as the root. You’ll need three values from the debug window: “Asset Editor”, “Graph”, and “Node” (if you hovered over a root node).

Add the “Asset Editor” value to “Supported Asset Editors”. Add the “Graph” value to the “Non Blueprint Formatter Settings” along with the (optional) root node.

That should be all, it was for me.

Debug Window text while hovering over a node in a PaperZD Asset Editor

Debug Window text while hovering over a node in a PaperZD Asset Editor

Courses

By the way, I’ve been following these good and easy-to-follow tutorials by Cobra Code:

and I really dig them. He does a good job of explaining what’s going on and guiding you through the UE5 interface.