GridGraph: MaxClimb vs. Agent Radius on the side of a ramp

I am having an issue with navigation on a grid graph (using AIPath).

My characters have a controller with a max step setting, and I am giving the Pathfinder’s grid graph the same value for max climb. This leads to a situation like this where they get stuck at the side of a ramp:

The agent wants to move the edge of the ramp but can’t, because the slope at that spot is higher than the character’s max climb. The grid cells are connected, however, resulting in this conflict.

During generation, how exactly is the “max climb” setting checked - is it applied only to the center of a grid cell? Is there any way to make it respect the diameter set in the collision testing settings, or any other way to solve this?

Lowering the max climb setting is not an option - I found that I’d have to decrease it dramatically, so much so that cells on some of my stairs would no longer connect.

EDIT: I worked around this by placing side colliders on a layer only the Pathfinder considers for building the grid. It’d still be interesting to know if there are other possibilities.


The beta version has an “account for slopes” option on the grid graph which aims to handle exactly this use case.

See the documentation for it here: GridGraph - A* Pathfinding Project