After upgrading from 4.3.82 to 4.3.90 on Unity 2022.3.10f1 the Link2 stopped working, it looks like agents are not seeing them.
Here is a video: https://youtu.be/hvnlM8AYqQ8
Here are a Pathfinder setting:
I am getting this error: ArgumentException: If you calculate the path using seeker.StartPath then this script will pick up the calculated path anyway as it listens for all paths the Seeker finishes calculating. You should not call SetPath in that case.
So instead I am calling this code, but not sure if that is the way to do it?
In the test project, I got it working by adding a new empty point graph. It looks like originally the point graph for links was automatically added, but not in 4.3.90. It is still not working on my main project even when adding point graph manually, so I am still investigating.
The Pathfinder and all links were on the same Z position, but all were children of a transform with Z = 10. So you are probably checking the links in absolute position and not relatively to the Pathfinder transform. Which is at least misleading. In other words, I found misleading that the transform position of the Pathfinder is not taken in account. Maybe would be nice to show a warning when the transform is moved out of zero position
Point graph is not automatically added, which was working in previous versions. I consider at least this as a bug.
The pathfinder transform itself does not affect anything. The grid graph has a center parameter, though. The links need to be close to the nodes in world space. It’s easiest to just check in the scene view.
The point graph should not be required anymore. Are you sure it doesn’t work if you remove it?
And there’s nothing in your code that relies on the point graph? Does the link show up as green in the scene view without the point graph? (green indicates that it is connected to the graph and should work properly).
I can create links without a point graph in the example scenes.
Thanks! I managed to replicate it!
The root cause was that the bounding box property on the grid graph was not correct if the node size was smaller than one.
I’ll include a fix in the next update.
Now, a final question - I have multiple scenes with Pathfinder component. After the update, what is the best practice - should I delete the point graph everywhere (I used it only for the links)?
Still, I think the problem with links Z offset could be easily misleading, especially when changing the behavior so that it was working before, and now it is not without any warning. I am not sure if my case was so specific.
Yes. The code will actually attempt to delete it automatically during a migration, but it is conservative and will only delete it if it is really sure that it’s only used for links.
Hi, updated to 4.3.92 and started deleting all the point graphs (used specifically for Link2) and regenerating caches for all the scenes. And I found probably another bug.
When there is a Link2 inside DynamicGridObstacle that is active during cache generation, that link is never working in play mode, even after toggling the DynamicGridObstacle. I tried reproducing that reliably in several scenes and places. The solution is either:
deactivate the DynamicGridObject gameObject during cache generation (which is not convenient as for the rest of the grid graph and obstacles it works fine activated, except for Link2)
keep there the point graph (which is not convenient, as it breaks the rule that point graph should not be necessary)
I cannot replicate this. If I include a link that is inside a DynamicGridObstacle, and then during runtime deactivate that obstacle’s GameObject, the link is recalculated properly and shows up as green in the scene view.
Could you share some more details and screenshots?