public static void BuildBundleScenes() { if (ResContext.OptionsData == null) { return; } string[] levels = ResContext.OptionsData.BundleScenes.ToArray(); if (levels.Length == 0) { Debug.Log("Nothing to build."); return; } for (int i = 0; i < levels.Length; i++) { string levelName = levels[i]; if (string.IsNullOrEmpty(levelName)) { continue; } string[] array = new string[] { levelName }; string outputPath = Utility.BundleSceneOutputPath; if (Directory.Exists(outputPath) == false) { Directory.CreateDirectory(outputPath); } outputPath += Utility.GetFileNameWithoutExtFromFullPath(levelName); Debug.Log("Building BundleScenes: " + outputPath); BuildPipeline.BuildPlayer(array, outputPath, EditorUserBuildSettings.activeBuildTarget, BuildOptions.BuildAdditionalStreamedScenes); } AssetBundleBuilder.CopyAssetBundlesTo(Path.Combine(Application.streamingAssetsPath, Utility.AssetBundlesOutputPath)); AssetDatabase.Refresh(); }
public static void BuildStandalonePlayer() { var outputPath = UnityEditor.EditorUtility.SaveFolderPanel("Choose Location of the Built Game", "", ""); if (outputPath.Length == 0) { return; } string[] levels = GetLevelsFromBuildSettings(); if (levels.Length == 0) { Debug.Log("Nothing to build."); return; } string targetName = GetBuildTargetName(EditorUserBuildSettings.activeBuildTarget); if (targetName == null) { return; } // Build and copy AssetBundles. AssetBundleBuilder.BuildAssetBundles(); AssetBundleBuilder.BuildBundleScenes(); AssetBundleBuilder.CopyAssetBundlesTo(Path.Combine(Application.streamingAssetsPath, Utility.AssetBundlesOutputPath)); AssetDatabase.Refresh(); BuildOptions option = EditorUserBuildSettings.development ? BuildOptions.Development : BuildOptions.None; MoveResourcesToR(); BuildPipeline.BuildPlayer(levels, outputPath + targetName, EditorUserBuildSettings.activeBuildTarget, option); MoveRToResources(); }
public static void BuildAssetBundles(bool deleteOld = false) { string outputPath = Path.Combine(Utility.AssetBundlesOutputPath, Utility.GetPlatformName()); if (Directory.Exists(outputPath)) { if (deleteOld) { Directory.Delete(outputPath, true); Directory.CreateDirectory(outputPath); } } else { Directory.CreateDirectory(outputPath); } Caching.CleanCache(); BuildPipeline.BuildAssetBundles(outputPath, BuildAssetBundleOptions.None, EditorUserBuildSettings.activeBuildTarget); AssetBundleBuilder.CopyAssetBundlesTo(Path.Combine(Application.streamingAssetsPath, Utility.AssetBundlesOutputPath)); }