Code (JavaScript): #pragma strict var doorClip : AnimationClip; var doorClipReverse : AnimationClip; var Key : GameObject; var LockedDoorSound : AudioClip; var OpenDoorSound : AudioClip; var ClosedDoorSound : AudioClip; var isDoorOpen = false; private var ChubsDoorState = false; private var ChubsDoor : ChubsKey; public var guiSkin : GUISkin; function Start() { ChubsDoor = GameObject.Find("ChubsKey").GetComponent(ChubsKey); } function Update () { if (Input.GetKeyDown(KeyCode.E) && ChubsDoorState == true && ChubsDoor.KeyCollected == true && isDoorOpen == false) { GameObject.Find("ChubsDoor").GetComponent.<Animation>().Play("ChubsDoorOpen"); AudioSource.PlayClipAtPoint(OpenDoorSound, transform.position); isDoorOpen = true; } else if (Input.GetKeyDown(KeyCode.E) && ChubsDoorState == true && isDoorOpen == true) { GameObject.Find("ChubsDoor").GetComponent.<Animation>().Play("ChubsDoorClose"); AudioSource.PlayClipAtPoint(ClosedDoorSound, transform.position); isDoorOpen = false; } if (Input.GetKeyDown(KeyCode.E) && ChubsDoorState == true && ChubsDoor.KeyCollected == false) { AudioSource.PlayClipAtPoint(LockedDoorSound, transform.position); } } function OnGUI() { if (Input.GetKeyDown(KeyCode.E) && ChubsDoorState == true && ChubsDoor.KeyCollected == true && isDoorOpen == false) { GUI.skin = guiSkin; GUI.Label (Rect (Screen.width/2-50, Screen.height/2-55, 200, 100), "Opened With Key"); } else if (Input.GetKeyDown(KeyCode.E) && ChubsDoorState == true && ChubsDoor.KeyCollected == false) { GUI.skin = guiSkin; GUI.Label (Rect (Screen.width/2-50, Screen.height/2-55, 200, 100), "The Door Is Locked"); } } function OnTriggerEnter (theCollider : Collider) { if (theCollider.tag == "Player") { ChubsDoorState = true; } } function OnTriggerExit (theCollider : Collider) { if (theCollider.tag == "Player") { ChubsDoorState = false; } } Focusing on the OnGUI and Update functions, why won't OnGUI display the text?