| Parameter | Description |
|---|---|
| buildPlayerContext | The context for the scheduled Player build. |
Implement this function to receive a callback before a Player build starts.
You can use this function to customize the build before Unity starts building the Player. For example, the following code example demonstrates how to include streaming assets in the Player build without placing them in your project's StreamingAssets folder.
This callback is a good place to confirm that the project is configured correctly before the build starts, and to fail the build early if a required setting is missing. Give validation callbacks a low IOrderedCallback.callbackOrder value so they run before other PrepareForBuild callbacks.
To fail the build from this callback, throw a BuildFailedException. It reports a clear message without a call stack.
Unlike IPreprocessBuildWithContext, you can trigger a content-only build from this callback, for example by calling BuildPipeline.BuildContentDirectory. The Addressables package uses this callback to build content during a Player build.
For more information about build callbacks, refer to Use build callbacks.
Additional resources: BuildPlayerContext.AddAdditionalPathToStreamingAssets, BuildPipeline.BuildContentDirectory
class PrepareBuild : UnityEditor.Build.BuildPlayerProcessor
{
public override void PrepareForBuild(UnityEditor.Build.BuildPlayerContext buildPlayerContext)
{
// Add data files to the Player build's StreamingAssets folder
// Works for files located both inside and outside the Unity project
buildPlayerContext.AddAdditionalPathToStreamingAssets("Assets/dataFromUnityProject.txt", "dataFromUnityProject.txt");
buildPlayerContext.AddAdditionalPathToStreamingAssets("C:/Temp/dataOutsideUnityProject.txt", "dataOutsideUnityProject.txt");
}
}