// Update is called once per frame void Update() { GameObject Gate = GameObject.Find(nom); transform.GetChild(0).gameObject.SetActive(!isActivated); transform.GetChild(1).gameObject.SetActive(isActivated); DoorOpenClose gate1 = Gate.transform.GetChild(0).GetComponent <DoorOpenClose>(); if (onActivator && Input.GetKeyDown(KeyCode.E)) { isActivated = !isActivated; if (isActivated == true) { gate1.SetDestination(doorPositionFinal); } else { gate1.SetDestination(doorPositionInitial); } } }