# PrepareForBuild(BuildPlayerContext)

> Implement this function to receive a callback before a Player build starts.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.Build](/engine/6000.5/script-reference/unityeditor/build.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public abstract void PrepareForBuild(BuildPlayerContext buildPlayerContext)
```

### Parameters

**** (\[BuildPlayerContext]\(/engine/6000.5/script-reference/unityeditor/build/buildplayercontext)): The context for the scheduled Player build.

### Remarks

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.

Additional Resources: [BuildPlayerContext.AddAdditionalPathToStreamingAssets](/engine/6000.5/script-reference/unityeditor/build/buildplayercontext/addadditionalpathtostreamingassets.md)

### Examples

```csharp
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");
    }
}
```
