BuildOptions.BuildScriptsOnly
Описание
Создавать только скрипты в проекте.
Перед тем, как использовать BuildScriptsOnly, вам нужно построить весь Project. Затем вы можете запустить сборки, которые содержат только изменения скрипта. Перестроение данных игрока будет пропускаться для повышения скорости итераций.
Платформы, поддерживающие конвейер постепенного построения, будут автоматически запускать сборки только скриптов, если Unity обнаружит, что файлы данных не изменились, даже если BuildScriptsOnly не используется. Вы все равно можете использовать BuildScriptsOnly, чтобы принудить сборку только скриптов и игнорировать любые ожидаемые изменения данных игрока.
В следующем примере скрипта используется BuildScriptsOnly. Скрипт построит весь Project вначале. После того, как вы запустили скрипт в первый раз, вы можете использовать скрипт только для компиляции любых изменений, которые вы сделали в скрипты. Чтобы попробовать это, добавьте следующий скрипт Редактора и скрипт игры к вашему проекту.
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); } }
Присоедините следующий простой скрипт к пустым GameObject в сцене:
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. Это создает исполняемый файл. Запустите исполняемый файл и появится темно-синее окно с надписью. Затем добавьте несколько кубиков и сфер в Project. Внесите следующие изменения в скрипт:
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, чтобы регенерировать приложение и запустить его. Приложение теперь будет показывать случайные изменения цвета фона. Однако добавленные кубы и сферы не видны.