UpdateGraphsNoBlock is setting nodes unwalkable

Hey Aron,

i have another issue with one of your methods. I´m doing an UpdateGraphsNoBlock with a preview version of a Gameobject to build to check if it would block connections between a List of points. The issue is, that it sometimes blocks off a node and set it to be unwalkable (like the method is intended to do) but obviously is not set it back proper.

This happens when at the same time some other pathfinding routines are running, wich are quite heavy on seeker.StartPath and UpdateGraphs(bound) usage.
Since the ClassDoc is telling that UpdateGraphsNoBlock is “All queued graph updates and thread safe callbacks will be flushed during this function.” i assumed that this may cause the problem, even if i would expect it to cause issues with the other routines.

This is my latest attempt to wrap this function:

if (!AstarPath.active.IsAnyGraphUpdatesQueued && !PublicEnums.isTankPathfindingRunning)
{
notBlocked = GraphUpdateUtilities.UpdateGraphsNoBlock(guo, spawnsAndCores, true);
}

But this seems to have no effect whatsoever on the issue.

Any Idea what could cause this or what i can try out in addition?

Hi

Sorry for the late answer.
Hm, I’m not sure what could cause that to happen, it should revert everything and it should work regardless if any other graph updates are queued or if pathfinding is running (well, pathfinding will be paused to allow the graph updates to happen). Do you have a reproducible test case?

Would you need a video of the case happening, or a project where it happens? If you need a project i could try to set one up for you

Hi

Sorry for the late answer.
Yeah, a project where it happens would be greatly appreciated :slight_smile:

Do you have a Skypecontact for me or an email? I don´t wanna post the project in public, since i´m using bought assets (like Astar for example ^^)

Hi

You can send me a PM.

Did you get my PM? Sended it a couple of days ago and i can´t see if it´s pending, send or allready read.

Hi

I got it, but I haven’t had the time to look at it yet. I will do that as soon as I have time.