how to make a animation play only when I get into the range of that game object?

ok so i have a game object that is an enemy. I want its animation to play only when I get really close to it.(im controllled by a fps player controller in my game) how do i do this? thanks!

Set the speed of your animation to zero when out of range, and to one, when in range. You can check the distance directly, but it's faster to compare the square of the distance to the square of your desired range.

In one game that I'm currently working on, I have it so that when my First Person Controller comes into range of a door, it plays the animation that opens the door... Just add the following script to your first person controller

var rayCastLength = 5;

function Update () { var hit : RaycastHit;

//check if were in range...
if(Physics.Raycast(transform.position, transform.forward, hit, rayCastLength))
{
// ... with the object
if(hit.collider.gameObject.tag == "lift_door")
{
    //play the animation:
    hit.collider.gameObject.animation.Play("lift_door_open");
}
}

}

Then just change the rayCastLength to how close you want your person to be when the animation is played. Then just tag your "enemy" as something you want, and replace my "lift_door" tag with your one. Then just change my "lift_door_open" to what your animation is called. And you don't have to put the .js at the end.