public static void BuildPlayer() { 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; } AssetBundleBuilder.BuildAssetBundles(); WriteServerURL(); BuildOptions option = EditorUserBuildSettings.development ? BuildOptions.Development : BuildOptions.None; BuildPipeline.BuildPlayer(levels, outputPath + targetName, EditorUserBuildSettings.activeBuildTarget, option); }
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 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 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)); }
private void OnGUI() { //if (mOptionsData == null) //{ // mOptionsData = LoadFile(); //} #region options //if (GTEditorHelper.DrawHeader("Options")) //{ // GTEditorHelper.BeginContents(false); // GUILayout.BeginHorizontal(GUILayout.Width(300)); // EditorGUILayout.LabelField("Current Mode", GUILayout.Width(100)); // mOptionsData.AssetBundleMode = (AssetBundleMode)EditorGUILayout.EnumPopup(mOptionsData.AssetBundleMode, GUILayout.Width(180)); // GUILayout.EndHorizontal(); // GTEditorHelper.EndContents(); // //try // //{ // // EditorUtility.SetDirty(mOptionsData); // //} // //catch { } //} #endregion #region build operation GUILayout.Space(3.0f); if (EditorUtility.DrawHeader("Builder")) { EditorUtility.BeginContents(false); if (GUILayout.Button("Build Scenes", GUILayout.Width(295))) { AssetBundleBuilder.BuildBundleScenes(); } if (GUILayout.Button("Build AssetBundles", GUILayout.Width(295))) { AssetBundleBuilder.BuildAssetBundles(); } if (GUILayout.Button("Build Standalone Player", GUILayout.Width(295))) { AssetBundleBuilder.BuildStandalonePlayer(); } EditorUtility.EndContents(); } #endregion #region ease mode GUILayout.Space(3.0f); if (EditorUtility.DrawHeader("Ease")) { EditorUtility.BeginContents(false); if (GUILayout.Button("Move Resources To R", GUILayout.Width(295))) { AssetBundleBuilder.MoveResourcesToR(); } if (GUILayout.Button("Move R TO Resources", GUILayout.Width(295))) { AssetBundleBuilder.MoveRToResources(); } EditorUtility.EndContents(); } #endregion }