internal void BuildPlayer()
        {
            PathUtil.EnsureDirectoryExists(PlayerBuildDirectory);
            PathUtil.EnsureDirectoryExists(PlayerBuildScratchDirectory);

            var scenes = PlayerBuildEvents.GetScenes(WorkerType);

            var tempExecutablePath = Path.Combine(PackagePath, ExecutableName);

            var playerOptions = new BuildPlayerOptions {
                target = BuildTarget, locationPathName = tempExecutablePath, options = options, scenes = scenes
            };
            var buildErrorMessage = BuildPipeline.BuildPlayer(playerOptions);

#if UNITY_2018_1_OR_NEWER
            if (buildErrorMessage.summary.result != BuildResult.Succeeded)
            {
                throw new ApplicationException(string.Format("Failed to build player {0} due to {1} errors", BuildConfigComment,
                                                             buildErrorMessage.summary.totalErrors));
            }
#else
            if (!string.IsNullOrEmpty(buildErrorMessage))
            {
                throw new ApplicationException(string.Format("Failed to build player {0} due to {1}", BuildConfigComment,
                                                             buildErrorMessage));
            }
#endif
            Debug.LogFormat("Built player {0} into {1}", BuildConfigComment, PackagePath);
        }
        internal void BuildPlayer()
        {
            PathUtil.EnsureDirectoryExists(PlayerBuildDirectory);
            PathUtil.EnsureDirectoryExists(PlayerBuildScratchDirectory);

            var scenes = PlayerBuildEvents.GetScenes(WorkerType);

            var tempExecutablePath = Path.Combine(PackagePath, ExecutableName);

            var playerOptions = new BuildPlayerOptions {
                target = BuildTarget, locationPathName = tempExecutablePath, options = options, scenes = scenes
            };
            var buildErrorMessage = BuildPipeline.BuildPlayer(playerOptions);

            if (!string.IsNullOrEmpty(buildErrorMessage))
            {
                throw new ApplicationException(string.Format("Failed to build player {0} due to {1}", BuildConfigComment,
                                                             buildErrorMessage));
            }

            Debug.LogFormat("Built player {0} into {1}", BuildConfigComment, PackagePath);
        }