How to make an NPC stay on the ground

I’m having trouble with making my NPC in a 3D game I make behave correctly. The NPC should walk between points in a bumpy landscape. The steering works as it should - however, I can’t seem to get the NPC to stay on the ground. Instead he floats between the points in midair when he needs to go down a hill.

When I enable gravity, he flies off in a completely wrong direction.
The NPC has been modeled and animated in Maya and has been imported as an fbx file.
Does anyone have an idea on how to correct this? I’m programming in C#

See this link . I hope this help