Object floating and going through walls/ground.

In my game I have a character that I want to follow the player, but the character(a zombie), both floats and can go through terrain, walls, the player etc. Here is the code that I have.

var PlayerLocation :  Transform;
var AppliedGravity : float = 20;
var Speed : float = 5;

private var CurrentTransform : Transform;
private var Character : CharacterController;

function Start(){
	CurrentTransform = transform;
	Character = GetComponent(CharacterController);

function Update(){
		transform.position = Vector3.MoveTowards(transform.position, PlayerLocation.transform.position, Speed);

just add a collider to your zombie

i’d add a rigidbody to the zombie and move him with rigidbody.addforce rather than vector3.movetowards, as translating a object with collider and rigidbody modifying its position can make the collision seem weird and innatural

Hope this helps