static void Init()
    {
        BackgroundBuildScript window       = (BackgroundBuildScript)EditorWindow.GetWindow(typeof(BackgroundBuildScript));
        GUIContent            titleContent = new GUIContent("BackgroundBuild", AssetDatabase.LoadAssetAtPath <Texture> (pathToScript));

        window.titleContent = titleContent;
        window.Show();
        window.currentlyCopying = false;
    }
    static void PerformBuild()
    {
        BackgroundBuildScript bbs = BackgroundBuildScript.CreateInstance("BackgroundBuildScript") as BackgroundBuildScript;

        bbs.LoadData();
        bbs.OnEnable();

        if (bbs.settings.showNotifications)
        {
            bbs.showNotification("Unity Build", "Build Started");
        }

        if (bbs.settings.logBuild)
        {
            bbs.writeToLog("Build Started", bbs.settings.logFolderPath);
        }

        BuildOptions buildOptions = BuildOptions.None;

        if ((bbs.settings.launchBuild && (!(bbs.settings.buildTargetSelected == BuildTarget.WebGL))) ||
            (!bbs.settings.customServer && bbs.settings.buildTargetSelected == BuildTarget.WebGL))
        {
            buildOptions = BuildOptions.AutoRunPlayer;
        }

        string productName = Application.productName;

                #if UNITY_EDITOR_WIN
        if ((bbs.settings.buildTargetSelected == BuildTarget.StandaloneWindows) || (bbs.settings.buildTargetSelected == BuildTarget.StandaloneWindows64))
        {
            productName = productName + ".exe";
        }
                #endif

        BuildReport report = BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, bbs.settings.buildFolderPath + "/" + productName, bbs.settings.buildTargetSelected, buildOptions);

        if (bbs.settings.launchBuild && bbs.settings.customServer && bbs.settings.buildTargetSelected == BuildTarget.WebGL)
        {
            bbs.launchBrowserForWebGLBuild();
        }

        if ((bbs.settings.launchBuild) && !(bbs.settings.buildTargetSelected == BuildTarget.WebGL))
        {
            if (bbs.settings.buildTargetSelected == BuildTarget.StandaloneOSX)
            {
                bbs.doProcess(bbs.settings.buildFolderPath + "/" + Application.productName + ".app", null);
            }
            else if (bbs.settings.buildTargetSelected == BuildTarget.StandaloneWindows)
            {
                bbs.doProcess(bbs.settings.buildFolderPath + "/" + Application.productName + ".exe", null);
            }
        }



        if (bbs.settings.showNotifications)
        {
            string message = "";
            if (report.summary.result == BuildResult.Succeeded)
            {
                message = "BUILD SUCCEEDED - Total build time: " + report.summary.totalTime;
            }
            else if (report.summary.result == BuildResult.Failed)
            {
                message = "BUILD FAILED - Total build time: " + report.summary.totalTime;
            }

            bbs.showNotification("Unity Build", message);
            if (bbs.settings.logBuild)
            {
                bbs.writeToLog(message, bbs.settings.logFolderPath);
            }
        }

        if (bbs.settings.showLog)
        {
            bbs.displayLog(bbs.settings.logFolderPath);
        }
    }