Need advice integrating A* with procedural world

I’d love some commentary (a brief step-by-step would be great!) on what operations need to occur to achieve global pathfinding in my scenario:

Note that the structures indicated in the linked image were made for my own A* solution, which wound up being too difficult to optimize given my limited understanding. I’m hoping to replace this system with something conceptually similar using Pathfinding Project as my backbone, but I’m already on day two of struggling to learn where I can lean on it versus where I need to roll my own extensions.

Specifically, I’ve thus far been unable to create a GridGraph at runtime which respects the properties I assign to it via script. After calling Scan() it’s always 10x10 with standard node spacing. Nabbed a snippet from the forum which allows the graph to be placed where I like in world space, but still no dice on those other settings. Here’s what I’m trying right now to create a graph for a chunk object:

GridGraph g = (GridGraph); = transform.position + (Vector3.up * 0.5f);
g.bounds = new Bounds(, new Vector3(16, 2, 16));
g.neighbours = NumNeighbours.Four;
g.width = 8;
g.depth = 8;

Matrix4x4 m = g.matrix;
g.RelocateNodes (m, g.matrix); g );
//GridGraph gridNow = (GridGraph)[0];;

I also attempted creating 64 nodes and placing them with two nested loops, but this too was ignored upon calling Scan(), so I’m very confident that I don’t know what I’m doing. :wink:

General comments on the validity of this approach using Pathfinding Project will be greatly appreciated, and specific comments on how to approach implementation will likewise be awesome. Thanks for your time!

Might I be better served creating a single GridGraph for the world, perhaps even at design time, then storing references to the appropriate nodes in each chunk so that chunks can manipulate their respective node collections OnChunkRepositioned()?

If still using one GridGraph per chunk, how about having each GridGraph overlap its neighboring chunk by one “unit” to ensure cross-chunk coverage?