Unity/Editor/プレイヤービルド
提供: 初心者エンジニアの簡易メモ
Assets/Scripts/Editor/BuildPlayerExample.cs
using UnityEditor; using UnityEngine; using UnityEditor.Build.Reporting; public class BuildPlayerExample : MonoBehaviour { [MenuItem("Tools/ProjectBuild WebGL")] public static void ProjectBuild() { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/Scenes/SampleScene.unity" }; buildPlayerOptions.locationPathName = "WebGLBuild"; // 生成されるビルドのディレクトリ名 buildPlayerOptions.target = BuildTarget.WebGL; buildPlayerOptions.options = BuildOptions.None; BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions); BuildSummary summary = report.summary; if (summary.result == BuildResult.Succeeded) { Debug.Log("Build succeeded: " + summary.totalSize + " bytes"); } else if (summary.result == BuildResult.Failed) { Debug.Log("Build failed"); } } }
BuildPipelineの公式マニュアル参考:http://docs.unity3d.com/ja/current/ScriptReference/BuildPipeline.BuildPlayer.html
Unityメインメニュー/Build/Build WebGLで実行できる。
上記例では、実行すると、WebGLBuildのディレクトリに、ビルドファイルが、生成される
BuildSettingsのScenesInBuildに設定したものを設定する方法
上のbuildPlayerOptions.scenesを、下のscenesに置き換える
using System.Collections.Generic; buildPlayerOptions.scenes = GetScenes(); static string[] GetScenes() { List<string> sceneList = new List<string>(); EditorBuildSettingsScene[] scenes = EditorBuildSettings.scenes; foreach (EditorBuildSettingsScene scene in scenes) { sceneList.Add(scene.path); } return sceneList.ToArray(); }
参考:https://kido0617.github.io/unity/2020-03-29-build-script/
macコマンド実行
/Applications/Unity/Hub/Editor/2021.3.4f1/Unity.app/Contents/MacOS/Unity -quit -batchmode -executeMethod BuildPlayerExample.ProjectBuild