private void Awake()
        {
            launcherVersionInfoURL = launcherVersionInfoURL.Trim();
            patchNotesURL          = patchNotesURL.Trim();
            forumURL       = forumURL.Trim();
            websiteURL     = websiteURL.Trim();
            versionInfoRSA = versionInfoRSA.Trim();
            patchInfoRSA   = patchInfoRSA.Trim();

            patchNotesText.text             = "";
            patcherLogText.text             = "";
            patcherProgressText.text        = "";
            patcherProgressbar.value        = 0;
            patcherOverallProgressbar.value = 0;

            forumButton.onClick.AddListener(ForumButtonClicked);
            websiteButton.onClick.AddListener(WebsiteButtonClicked);

            launcherDirectory = Path.GetDirectoryName(PatchUtils.GetCurrentExecutablePath());
            gamesDirectory    = Path.Combine(launcherDirectory, gamesSubdirectory);
            selfPatcherPath   = PatchUtils.GetDefaultSelfPatcherExecutablePath(selfPatcherExecutable);

            string currentVersion = PatchUtils.GetCurrentAppVersion();

            versionCodeText.text = string.IsNullOrEmpty(currentVersion) ? "" : ("v" + currentVersion);

            gameHolders = new MultiGameLauncherGameHolder[games.Length];
            for (int i = 0; i < games.Length; i++)
            {
                games[i].TrimLinks();

                MultiGameLauncherGameHolder gameHolder = (MultiGameLauncherGameHolder)Instantiate(gameHolderPrefab, gameHolderParent, false);
                gameHolder.Initialize(games[i]);
                gameHolder.OnPlayButtonClicked  += PlayButtonClicked;
                gameHolder.OnPatchButtonClicked += PatchButtonClicked;
                gameHolder.PlayButtonSetEnabled(File.Exists(Path.Combine(gamesDirectory, games[i].ExecutablePath)));
                gameHolders[i] = gameHolder;

                StartCoroutine(CheckForUpdates(gameHolder));
            }

            // To resolve a Unity bug
            gamesPanel.gameObject.SetActive(false);
            gamesPanel.gameObject.SetActive(true);

            if (!string.IsNullOrEmpty(patchNotesURL))
            {
                StartCoroutine(FetchPatchNotes());
            }

            // Can't test the launcher on Editor
#if !UNITY_EDITOR
            StartLauncherPatch();
#endif
        }