public void Execute(BuildTarget buildTarget, GameDefinitionBuildInfo[] gameDefinitions) { gameDefinitions = FilterSupportedGameDefinitions(gameDefinitions); if (gameDefinitions.Length == 0) { return; } var bundleBuildDirectory = this.buildSettings.GetAssetBundleBuildPath(buildTarget); if (!PathUtility.EnsureDirectory(bundleBuildDirectory)) { RepairBundleConflicts(gameDefinitions, this.buildSettings.GetAssetBundleBuildPath(buildTarget)); } BuildPipeline.BuildAssetBundles(bundleBuildDirectory, CreateAssetBundleBuilds(gameDefinitions), this.buildSettings.buildAssetBundleOptions, buildTarget); foreach (var gameDefinition in gameDefinitions) { var bundleName = (gameDefinition.gameDefinition as IGameBundleDefinition).BundleName; PathUtility.CopyFileToDirectory(bundleName, bundleBuildDirectory, gameDefinition.directory); this.builtBundlePaths.Add(Path.Combine(gameDefinition.directory, bundleName)); } }