private void OnGUI() { GUILayout.Label(dir); GUI.SetNextControlName("textField"); name = GUILayout.TextField(name); GUI.FocusControl("textField"); if (GUILayout.Button("Save")) { scriptableObject.SaveNew(dir, name); } var evt = Event.current; if (evt.keyCode == KeyCode.Escape) { Close(); } if (evt.keyCode == KeyCode.Return) { scriptableObject.SaveNew(dir, name); OnSaved?.Invoke(scriptableObject); Close(); } }