So I figured out a way which seems really bad for performance but without C++ i can’t think of another way.
Starting at the final point > Does that point connect to Bob’s current point?
Yes > Move Bob to final location
No > Check every point connected to the final point and ask does that point connect to Bob’s current point?
Yes > Move to that point, then repeat until at final location
No > Repeat above step until one a point does connect, otherwise there is no path to the final location
I think that is a logical way of thinking about it and will test it now.