Script hooks allow you to run custom scripts or Editor code before the build starts or after it is completed.
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.
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 格式的编译清单。
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 调用该方法时,它将传递字符串:
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.
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 Conditional Compilation.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.