I have some scenery models with mesh colliders attached, along with enemies placed ontop of them. In my current AI code for the enemies, they chase the player by moving to the players position value, as described below.
function ChasePlayer()
{
//print ("Chasing Player");
animation.CrossFade("Walk", 1);
dir = target.transform.position - transform.position;
dir = dir.normalized;
transform.Translate(dir * speed * 5 * Time.deltaTime, Space.World);
}
However, when the enemy chases the player up a hill, they walk through the floor ignoring the mesh collider, and fall to their death. Each enemy has a character controller and a platformer controller attached.
The game is a 2D sidescrolling platformer if that helps.