Let’s say I have a layered grid graph at every meters. I have 2 obstacles on the same axis separated by 2 meters. So there is a link in between where my robots can go.
But some of my robots are larger than 2 meters, so they should not be able to go through even though the nodes are connected.
My small robots should go through but my bigger robots will have to go around the obstacle…
Any way to take in account the width of my robot on the grid graph when calling the m_Seeker.StartPath ?
(so it finds the green path instead of the pink path on th image attached).
There are two options, either you can use multiple graphs and set the graph mask parameter in the Seeker.StartPath call to the graph you want to use for that particular character, or you can use erosion with tags on the grid graph. Erosion with tags will assign a different tag to each node depending on how far away from the nearest wall it is, so you can for example prevent a Seeker from traversing nodes with a distance of 1 to the nearest wall by changing the tag mask in the Seeker inspector. See http://arongranberg.com/astar/docs/class_pathfinding_1_1_grid_graph.php#af156f09628f08d32091ea67e48e42b71
Generally the tradeoff is that multiple graphs is a more stable and more flexible way to do it, but it has a higher memory cost, and updating graphs will be slower. Using tags is less flexible, but you can get away with using less memory.