Switched over to that, and it’s working pretty well! It’s a lot more efficient than the hacky workarounds I had before, storing blocked nodes as a list in it that I can then add to on the fly using GridGraph.GetNodesInRegion. However, I’m still getting the issue where setting the destination to a node blocked using the ITraversalProvider fails the path. I found this thread which seems to have the same issue, but it’s from almost a year ago, and I can’t make sense of what’s supposed to be in the “your code here” boolean of the solution code. Any pointers?