Need help getting my door to open and close without triggering other doors.

The script works fine to open/close the door when I press “E”. It also works in that I have to be a certain distance from the door and looking at it. The problem I’m having is that the other doors in my scene with similar scripts all open/close whenever any of them is interacted with:

using UnityEngine;
using System.Collections;

public class GeneralDoor : MonoBehaviour {
// Use this for initialization
public Animation anim;
bool open;
Ray ray;
RaycastHit hit;
public float distance = 8.0f;

void Start () {
	anim = GetComponent<Animation> ();
	anim ["GenDoorOpen"].speed = -1.0f;
	open = true;
}

// Update is called once per frame
void Update ()
{
	if (Input.GetKeyDown(KeyCode.E)) {
		ray = Camera.main.ScreenPointToRay(Input.mousePosition);
		if (Physics.Raycast (ray, out hit, distance)) {
			if (!anim.isPlaying) {
				open = !open;
				anim ["GenDoorOpen"].speed = anim ["GenDoorOpen"].speed * -1.0f;
				if (open) {
					anim ["GenDoorOpen"].time = anim ["GenDoorOpen"].length;
				} else {
					anim ["GenDoorOpen"].time = 0.0f;
				}
			} else {
				open = !open;
				anim ["GenDoorOpen"].speed = anim ["GenDoorOpen"].speed * -1.0f;
			}	
			anim.Play ("GenDoorOpen");
		}
	}
}

}

Let me know if you see something I don’t… Thanks is advance.

Nowhere in your script do you test which door your mouse cursor is over. All your doors just test “has the player pressed E” (line 10) and “does a raycast from the mouse cursor hit something” (line 12).

You need to play the animation on the gameobject only if the raycast hits the gameobject to which this script is attached.