// Path Fields ----------------------------------------------------------------------------
        #region PATH FIELDS
        public static string SelectPathField(string panelName, string path, string ext = "")
        {
            BeginGroup(GroupType.Horizontal);

            if (string.IsNullOrWhiteSpace(path))
            {
                path = SpiralEditorTools.GetDirectory(path);
            }

            EditorGUILayout.TextField(GetLabel(panelName, "Path to save screenshots"), path);

            bool pathExists = Directory.Exists(path);

            SetGUIEnabled(pathExists);
            bool open = MiniButton("Open");

            if (open)
            {
                try
                {
                    EditorUtility.RevealInFinder(path);
                }
                catch { }
            }
            RestoreGUIEnabled();

            bool   browse = MiniButton("...");
            string ans;

            if (browse)
            {
                string dir    = SpiralEditorTools.GetDirectory(path);
                bool   folder = string.IsNullOrEmpty(ext);
                ans = folder ?
                      EditorUtility.OpenFolderPanel(panelName, dir, "") :
                      EditorUtility.OpenFilePanel(panelName, dir, ext);
                if (ans == "")
                {
                    ans = path;
                }
            }
            else
            {
                ans = path;
            }

            EndGroup();
            return(ans);
        }