プレイヤーをビルドする際に、ビルドされたプレイヤーを修正したい場合があります。例えば、カスタムアイコンの追加、プレイヤーの横へのドキュメントのコピー、インストーラーのビルドなどが必要になる可能性があります。これを行うには、エディタースクリプトで BuildPipeline.BuildPlayer を使用してビルドを実行した後に、必要な処理のコードを追加します。
// C# example.
using UnityEditor;
using System.Diagnostics;
public class ScriptBatch
{
[MenuItem("MyTools/Windows Build With Postprocess")]
public static void BuildGame ()
{
// Get filename.
string path = EditorUtility.SaveFolderPanel("Choose Location of Built Game", "", "");
string[] levels = new string[] {"Assets/Scene1.unity", "Assets/Scene2.unity"};
// Build player.
BuildPipeline.BuildPlayer(levels, path + "/BuiltGame.exe", BuildTarget.StandaloneWindows, BuildOptions.None);
// Copy a file from the project folder to the build folder, alongside the built game.
FileUtil.CopyFileOrDirectory("Assets/Templates/Readme.txt", path + "Readme.txt");
// Run the game (Process class from System.Diagnostics).
Process proc = new Process();
proc.StartInfo.FileName = path + "/BuiltGame.exe";
proc.Start();
}
}
また、PostProcessBuildAttribute の postprocessOrder パラメーターを使用してビルドメソッドの実行順序を定義したり、最後のセクションに示すように、これらのメソッドから Process クラスを使用して外部スクリプトを呼び出したりすることもできます。postprocessOrder パラメーターには任意の負の値または正の値を割り当て、昇順でビルドメソッドをソートすることができます。