Dear Friends, I'm not sure if this should be here or in GUI, but it's definitely a scripting problem and I'm stuck. I'm trying to make a chat entry window in the style of WoW, activated and de-activated by pressing Return. I want to press return, have a line entry window appear with the cursor activated, type in a line, press enter again, then process that text in a separate function ("TextEnter"). This is the script in my character controller: Code (csharp): public var commandLine:String = ""; function OnGUI () { entering = GetComponent(TextEnter); if (Event.current.Equals (Event.KeyboardEvent ("return")) ) { commandLine = GUI.TextField (Rect (10, 80, 600, 20), commandLine, 25); if (Event.current.Equals (Event.KeyboardEvent ("return")) ) { print("going to the function"); entering.EnterText(); } } } and this is the script "TextEnter" with the function "EnterText": Code (csharp): function EnterText(){ print("Executing function TextEnter!"); }; What happens is this: In game, debug is quiet at first. When I press enter, debug says "going to the function" and "Executing function TextEnter!" both together immediately. The text entry window does not appear. Eventually, I'll bang my head against my keyboard enough so that I'll either pass out, or it will break, so the problem will get solved eventually. Thanks!