仅构建项目中的脚本。
在使用BuildScriptsOnly之前,您需要构建整个项目。然后,您可以运行仅包含脚本更改的构建。将跳过重建播放器数据以加快迭代速度。
支持增量构建管线的平台将在 Unity 检测到数据文件未更改时自动运行仅脚本构建,即使未使用BuildScriptsOnly。您仍然可以使用BuildScriptsOnly强制进行仅脚本构建并忽略任何挂起的播放器数据更改。
以下脚本示例使用了BuildScriptsOnly。该脚本最初构建整个项目。首次运行脚本后,您可以使用该脚本仅编译脚本更改。要使用该脚本,请创建一个项目并添加以下编辑器脚本和游戏脚本。
using UnityEditor; using UnityEngine;
public class EditorExample : MonoBehaviour { [MenuItem("Build/Build scripts")] public static void MyBuild() { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/scene.unity" }; buildPlayerOptions.locationPathName = "scriptBuilds"; buildPlayerOptions.target = BuildTarget.StandaloneOSX;
// use these options for the first build buildPlayerOptions.options = BuildOptions.Development;
// use these options for building scripts // buildPlayerOptions.options = BuildOptions.BuildScriptsOnly | BuildOptions.Development;
BuildPipeline.BuildPlayer(buildPlayerOptions); } }
将以下简单脚本附加到场景中的空游戏对象
using UnityEngine;
// Change the camera to the usual blue color and display a label.
public class ExampleClass : MonoBehaviour { private Camera cam;
void Awake() { cam = Camera.main; cam.clearFlags = CameraClearFlags.SolidColor; }
void OnGUI() { GUI.Label(new Rect(100, 100, 100, 50), "ExampleClass"); } }
现在运行Build/Build scripts
示例。这将构建一个可执行文件。运行该可执行文件,将出现一个带有标签的深蓝色窗口。接下来,向项目中添加一些立方体和球体。进行以下脚本更改
using UnityEngine;
public class ExampleClass : MonoBehaviour { private Camera cam;
// added line private float delay;
void Awake() { delay = 0.0f; cam = Camera.main; cam.clearFlags = CameraClearFlags.SolidColor; }
// added script code void FixedUpdate() { delay = delay + Time.deltaTime;
if (delay > 0.5f) { cam.backgroundColor = new Color(0.0f, 0.0f, Random.Range(0.0f, 0.25f)); delay = 0.0f; } }
void OnGUI() { GUI.Label(new Rect(100, 100, 100, 50), "ExampleClass"); } }
最后,交换EditorExample
脚本中的注释行
using UnityEditor; using UnityEngine;
public class EditorExample : MonoBehaviour { [MenuItem("Build/Build scripts")] public static void MyBuild() { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/scene.unity" }; buildPlayerOptions.locationPathName = "scriptBuilds"; buildPlayerOptions.target = BuildTarget.StandaloneOSX;
// use these options for the first build // buildPlayerOptions.options = BuildOptions.Development;
// use these options for building scripts buildPlayerOptions.options = BuildOptions.BuildScriptsOnly | BuildOptions.Development;
BuildPipeline.BuildPlayer(buildPlayerOptions); } }
使用Build/Build scripts
重新生成应用程序,然后启动它。应用程序现在将显示背景颜色的随机更改。但是,添加的立方体和球体不可见。
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.