void OnGUI()
        {
            SetupStyle();
            Config config = Config.Get();

            GUILayout.Label("ThryEditor v" + config.verion);

            GUINotification();
            drawLine();

            bool hasVRCSdk     = System.Type.GetType("VRC.AccountEditorWindow") != null;
            bool vrcIsLoggedIn = EditorPrefs.HasKey("sdk#username");

            if (hasVRCSdk)
            {
                vrc_sdk_version = Helper.GetCurrentVRCSDKVersion();
                GUILayout.Label("VRC Sdk version: " + vrc_sdk_version);
                if (vrcIsLoggedIn)
                {
                    GUILayout.Label("VRChat user: "******"sdk#username"));
                }
                drawLine();
            }

            GUIEditor();
            drawLine();
            GUIExtras();
            drawLine();

            if (hasVRCSdk)
            {
                if (firstLoad)
                {
                    thry_vrc_tools_installed_version = Helper.FindFileAndReadIntoString(THRY_VRC_TOOLS_VERSION_PATH);
                    has_vrc_tools = System.Type.GetType("Thry.AutoAvatarDescriptor") != null;
                }
                if (has_vrc_tools)
                {
                    GUIVRCToolsOptions();
                }

                drawLine();

                if (thry_vrc_tools_version_loaded)
                {
                    GUIVRCToolsDownloadOptions(has_vrc_tools);
                }
            }

            if (firstLoad)
            {
                Helper.getStringFromUrl(THRY_VRC_TOOLS_REPO_URL + THRY_VRC_TOOLS_VERSION_URL, thry_vrc_tools_version_callback);
                firstLoad = false;
            }
        }