NodeGraphV2.0 - Create connected networks of nodes easily!

I spent some day working on a tool for my studio and decided to share it as a free tool.

It lets you quickly place down 3D nodes and connect them together to form networks or paths

This could be useful for:

  • Custom NPC Pathfinding
  • NPC Patrol Routes
  • Any sort of static movement paths for objects

I built this because unlike some similar tools out there, there are some nice quality of life features in this that should speed up the process

Features:

  • Click build with no selection to create a new NodeGraph

  • Click build with a selected NodeGraph to edit it right where you left off

  • Click LMB to place down a node

  • Use the Delete Brush to delete connections or nodes

  • Click LMB on a node and drag to connect nodes together manually

  • Use the Connection Brush to automatically connect nodes together!
    • This will connect nodes that can “See” each other(nothing is obstructing them)

  • Use the Grab Brush to adjust the position of nodes

  • Full Undo/Redo support!

Misc

This plugin also lets you export a ModuleScript that sets up these NodeGraphs for you in game. It includes a fast a* pathfinding algorithm, open up the modulescript for more information

This should serve as a nice and easy base for coding in your own functionality

I know this tool is a bit niche, but I hope some developers can find it helpful!

55 Likes

Updated this plugin, it no longer lags you out as much with large networks(it moves working nodes/lines into the camera so they aren’t all selected)

2 Likes

I’m having a weird issue where the pathfinding will just completely jump over nodes, this is what the pathfinding result is


and this is what the nodegraph is.

Not sure I can look into it right now. Might have to implement your own a*, it’s pretty easy and there’s lots or open source ones out there. That was just a little extra thing I added to the tool but something I’m less motivated to maintain

1 Like

Turns out I accidentally messed up the node graph, for my implementation I have a serialization step where I wasn’t calling tonumber on some index’s which caused the graph to well, be a mess.

1 Like