Cuando se construya un reproductor, a veces usted querrá modificar el reproductor construido de cierta manera. Por ejemplo, usted podría querer agregar un icono personalizado, copie alguna documentación a lado del reproductor o construya un instalador. Usted podría querer hacer esto vía el scripting del editor utilizando BuildPipeline.BuildPlayer para ejecutar la construcción y luego seguirla con el código de postprocessing (post-procesamiento) que usted necesite:-
// JS example.
import System.Diagnostics;
class ScriptBatch {
@MenuItem("MyTools/Windows Build With Postprocess")
static function BuildGame() {
// Get filename.
var path = EditorUtility.SaveFolderPanel("Choose Location of Built Game", "", "");
var levels : 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).
var proc = new Process();
proc.StartInfo.FileName = path + "/BuiltGame.exe";
proc.Start();
}
}
// 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();
}
}
Usted también puede utilizar el parámetro postprocessOrder del PostProcessBuildAttribute para definir el orden de ejecución para su métodos de construcción y llamar sus scripts externos con la clase Process de estos métodos mostrados en la última sección. Este parámetro es utilizado para ordenar los métodos de construcción de menor a mayor, y usted puede asignar cualquier valor negativo o positivo a él.