The Path.Unblocked signal fires in a way that is unexpected and seems to be a bug. Here is some psuedocode demonstrating how it is behaving incorrectly:
So let’s say that waypoint 2 just got blocked, the following signals will fire:
unblocked 2
blocked 2
And when it gets unblocked:
(nothing)
Here is a rbxl file. Every few seconds it toggles whether the path is blocked. Look at the output/dev console to see when the signals fire in relation to a path being blocked/unblocked by moving a part. pathfinding_bug.rbxl (67.1 KB)
Thanks for your report and for the repro file. I looked at the issue you described; the system appears to be working as expected, but the script in the rblx file has an error causing the blocked function to fire for both Blocked and Unblocked signals:
I was able to confirm that after setting the unblocked function to use path.Unblocked, both events trigger at the appropriate time. If you still experience this problem even with the correct signals connected, please follow up here with an updated rbxl file and we’ll reinvestigate.