# OnPostprocessBuild(BuildCallbackContext)

> Implement this function to receive a callback after the build is complete.

## Definition

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

```csharp
void OnPostprocessBuild(BuildCallbackContext ctx)
```

### Parameters

**** (\[BuildCallbackContext]\(/engine/6000.6/script-reference/unityeditor/build/buildcallbackcontext)): A context containing information about the build, such as its build report.

### Remarks

This callback is invoked during Player, AssetBundle, and content directory builds. This callback is invoked even when the build stops early due to a failure or cancellation. However it will not be invoked if initial validation checks prevent the build from starting.

Additional Resources: [BuildPipeline.BuildPlayer](/engine/6000.6/script-reference/unityeditor/buildpipeline/buildplayer.md), [BuildPipeline.BuildAssetBundles](/engine/6000.6/script-reference/unityeditor/buildpipeline/buildassetbundles.md), [BuildPipeline.BuildContentDirectory](/engine/6000.6/script-reference/unityeditor/buildpipeline/buildcontentdirectory.md), [IPreprocessBuildWithContext](/engine/6000.6/script-reference/unityeditor/build/ipreprocessbuildwithcontext.md)

### Examples

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

class PostprocessBuildExample : IPostprocessBuildWithContext
{
    public int callbackOrder { get { return 0; } }
    public void OnPostprocessBuild(BuildCallbackContext ctx)
    {
        string prefix = "";
        if (ctx.IsContentOnlyBuild)
            prefix = "Content-only build:";
        else if (ctx.IsPlayerBuild)
            prefix = "Player build:";

        BuildSummary summary = ctx.Report.summary;
        Debug.Log(prefix + " PostprocessBuild called. " +
            "Target: " + summary.platform + " Output path: " + summary.outputPath);
    }
}
```
