# OnPreprocessBuild(BuildReport)

> Implement this method to receive a callback before the build is started.

## Definition

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

```csharp
void OnPreprocessBuild(BuildReport report)
```

### Parameters

**** (\[BuildReport]\(/engine/6000.5/script-reference/unityeditor/build/reporting/buildreport)): A report containing information about the build, such as its target platform and output path.

### Remarks

This method is replaced by [IPreprocessBuildWithContext.OnPreprocessBuild](/engine/6000.5/script-reference/unityeditor/build/ipreprocessbuildwithcontext/onpreprocessbuild.md), which works for AssetBundle builds as well. This callback is invoked during Player builds, but not during AssetBundle builds.

Additional Resources: [IPostprocessBuildWithReport](/engine/6000.5/script-reference/unityeditor/build/ipostprocessbuildwithreport.md), [BuildPlayerProcessor](/engine/6000.5/script-reference/unityeditor/build/buildplayerprocessor.md), [BuildPipeline.BuildPlayer](/engine/6000.5/script-reference/unityeditor/buildpipeline/buildplayer.md)

### Examples

```csharp
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEngine;

namespace BuildDocExamples
{
    class MyCustomBuildProcessor_OnPreprocessBuildWithReport : IPreprocessBuildWithReport
    {
        public int callbackOrder { get { return 0; } }
        public void OnPreprocessBuild(BuildReport report)
        {
            Debug.Log("MyCustomBuildProcessor_OnPreprocessBuildWithReport.OnPreprocessBuild for target " + report.summary.platform + " at path " + report.summary.outputPath);
        }
    }
}
```
