Thanks for the answers. I think most is clear now and if you can add the small changes like NotifyUpdated in NavmeshClipper and maxSnappingdistance in NodeLink2 in one of the upcoming updates I’d be very grateful.
The only small doubt remaining is the part about clamp/colliders/gravity. The ideal here would be to avoid the necessity to duplicate the collider for the static “far-off” navmesh. But if that is not possible, it’s also ok.
If I understand the code correctly, the raycastcommands are basically responsible for checking the surface below. I could not find exactly where the raycasts are performed - but I assume these are the “default” UnityEngine.Physics.Raycast calls (just a bit abstracted in some fancy job) and work quite normally like ray hits collider etc…
There is not any chance to use the navmesh surface directly as ground instead of a collider?
In my real game I use ECS physics - I guess I could deactivate gravity on the follower entities and let ECS physics take care of it. Or do you see any obvious downside on that?
Maybe you could also have a look at my other question about the clampToNavmesh part, it seems a bit interconnected. I’ll add some details there.
Also like I said, if you are interested in adding this little example to the samples, I’d be happy to share it (completely free of course and without any claim for licensing or alike) - just let me know. If not, it’s also completely fine, I get it, if you want to avoid cluttering you package with external stuff.