Difference between height and collision testing

I don’t understand what the difference is between height and collision testing.
It kind of looks like height testing is for walkability, while collision testing is for blocking objects the AI cannot walk through.

I have both - a castle wall which AI units can walk on top of (if they take the stairs). But units should not just be able to walk through the wall. If I set the castle wall layer to both collision and height testing flags for Layered Grid Graph units will not walk on top of it.

How do I support my use case?


So this is possible, however unfortunately the way you do it is not quite obvious from the UI at the moment.
So height testing decides where to place the nodes in the world. It fires a ray down from the sky and places a node where it first hits. Then collision testing is used to check if that position is too close to an obstacle. This is done (by default) using a check for colliders inside a capsule shape.

The issue here is that the capsule collider will find your castle wall which is both an obstacle and the floor. However what you can do is to make sure the capsule does not touch the ground when it does the check:

You can do this by setting the ‘offset’ field in the Collision Testing settings to a value greater than node size x diameter / 2 (as node size * diameter will become the real world diameter of the capsule).
The offset field sets the vertical offset of the capsule in world space. You will likely want a slightly larger value to add some margin.

This is extremely helpful, thank you.