Version: 2022.1
Build output
Xcode framework

Script hooks

Script hooks allow you to run custom scripts 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 Build (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()

通过将 BuildManifestObject 对象指定为方法签名中的参数,即可使 Cloud Build 将当前编译的编译清单传递到导出前方法。随后可以在导出项目之前更改项目设置或 Player 设置。

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

Unity Cloud Build 调用该方法时,它会将 BuildManifestObject 对象作为可选参数传递(其中的 BuildManifestObject 是当前编译的编译清单)。

有关更多信息,请参阅 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)

Unity Cloud Build 调用该方法时,它将传递字符串:

  • 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 framework