YetAnotherGraphPlugin: making graphs effortless

I’m making this simple plugin for creating graphs with user defined blueprint node classes. I’ve been developing it for a while and I’d like some critiques and advices on where I can Improve it, and help from someone that know the engine. The plugin can be viewed on github.

To explain in few words. The plugin create a new asset called “Graph” under the Blueprint category.

Then you can create a new blueprint asset, looking to inherit SimpleNode or StartNode.


Since it’s a blueprint class you can add any kind of variable to customize inside the graph asset.
Once you open the graph you can select any custom node you’ve created and edit its variables.

Currently the plugin has a nasty bug that I haven’t been able to eliminate. I wrote about it in the “issues” section on its git.
As you can see on the third image, you have 2 options for your Custom Node. One works fine, but the other crashes the engine and after a week i still don’t know why. It is usually the second choice. The C++ classes that inherit from the same “SimpleNode” or “StartNode” doesn’t have this problem.
Aside for that bug, it seems to be working fine.

Any kind of critique and help for improving the plugin is appreciated.

Update.
I fixed all the bugs that I could find and the plugin is ready for production. There are several improvements:

  • There are “Flow Control” nodes for creating dynamic graphs. They use the returns of blueprintable functions to change which node return on a given command.
  • There are also “Action Nodes” that perform blueprintable functions on a given command
  • You can name nodes and have those named nodes directly accessible through a map property of the graph.
  • Any native node is now blueprintable and its behavior customizable through blueprint
  • There is a blueprintable interface for communicating between graphs and other objects