Version: 2022.1
Build output
Xcode frameworks

Script hooks

Script hooks allow you to run custom scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary
or Editor code before the build starts or after it is completed.

Pre- and post-export methods

The pre- and post-export methods let you trigger actions before and after your Unity Project is built. These methods must exist as code in your Project in the Assets/Editor folder. If the Editor folder doesn’t exist in your directory, create it.

Important: The UnityEngine.CloudBuild.BuildManifestObject class is only available when running in Cloud BuildA continuous integration service for Unity projects that automates the process of creating builds on Unity’s servers. More info
See in Glossary
(as in, not locally). To compile your code locally, wrap your pre- and post-export methods in an #if UNITY_CLOUD_BUILD block.

You set pre- and post-export methods in the build target’s Advanced Options.

The Edit Advanced Options screen
The Edit Advanced Options screen

Pre-export method name

To use a pre-export method, create a public static method in your Unity Project that contains the code you want executed before the Unity Editor exports your project but after the Unity Editor script compilation phase.

public static void PreExport()

You can enable Cloud Build to pass the build manifest of the current build to the pre-export method by specifying a BuildManifestObject object as a parameter in the method signature. You can then make changes to the Project or Player settings before the Project is exported.

public static void PreExport(UnityEngine.CloudBuild.BuildManifestObject manifest)

When Unity Cloud Build calls the method, it passes a BuildManifestObject object as an optional parameter, where BuildManifestObject is the build manifest of the current build.

For more information, see Build manifest as ScriptableObject.

Post-export method name

To use the post-export method, create a public static method in your Unity Project that contains the code you want executed after the Unity Editor exports your Project.

public static void PostExport(string exportPath)

When Unity Cloud Build calls the method, it passes a string:

  • For non-iOS build targets, the string contains the path to the exported Project.
  • For iOS Projects, the string contains the path to the exported Xcode project. You can use the path to locate the exported Xcode Project to perform additional preprocessing before Xcode is called to complete the build process.

Note: If you’ve tagged any methods in your code with the Unity PostProcessBuildAttribute, those methods are executed before any methods configured as post-export methods in Unity Cloud Build.

Custom scripting #define directives

Using Cloud Build, you can create custom scripting #define directives. On the Unity Developer website, go to the build target’s Advanced Options.

In the Scripting Define Symbols field, you can add your own custom scripting #define directives to the built-in selection available. For each build target, enter the names of the symbols you want to define. You can then use these symbols as the conditions in #if directives, just like the built-in symbols. For more information, see [#define directives](https://docs.unity3d.com/Manual/PlatformDependentCompilation.html?_ga=2.140584053.690056806.1634230315–349158170.1626113345) and Platform-dependent compilation.

Build output
Xcode frameworks