Визуальное программирование
Система визуального программирования в Unity позволяет создавать игровую механику или логику взаимодействия с помощью визуальной графовой системы вместо работы с текстовым представлением кода.
Хотите как можно быстрее приступить к визуальному скриптингу? В этом кратком руководстве объясняются базовые принципы визуального скриптинга, которые помогут реализовать логику на основе графов для ваших собственных игр.
Начало работы в Unity 2021.1
Начиная с Unity 2021.1, система визуального программирования поставляется через Package Manager и устанавливается вместе с редактором Unity.
Начало работы с Bolt
Для Unity 2019 и 2020 LTS систему Bolt Visual Scripting можно загрузить из Unity Asset Store бесплатно.
Система визуального скриптинга в Unity позволяет любому сотруднику студии реализовать логику с помощью перетаскивания узлов вместо ручного ввода программного кода. Кроме того, эта система упрощает совместную работу программистов, художников и дизайнеров, ускоряя создание и проработку прототипов.
Визуальный скриптинг — это отличный инструмент для художников и дизайнеров, которые хотят проверить идею, внести изменения или лучше контролировать свою работу в Unity. Они также смогут воспользоваться графическим представлением логики, созданной сотрудниками технического профиля.
Разрабатывайте собственные узлы с помощью визуального скриптинга для эффективной совместной работы дизайнеров и художников. Это повышает удобство работы для всех сотрудников студии, независимо от их навыков в программировании.
Ключевые преимущества
Flow Graphs
Инструмент Flow Graphs — это главный инструмент реализации взаимодействий в проекте. С помощью графов действий и значений можно разрабатывать любую логику, реализуется ли она покадрово или срабатывает при событии.
State Graphs
Инструмент State Graphs позволяет создавать автономные алгоритмы, определяющие поведение объектов в зависимости от их состояния. Такие графы подходят для высокоуровневой логики, например, логика ИИ, сцены, уровня или любого другого аспекта сцены, требующего алгоритмов, сменяющих друг друга в различных состояниях.
Live Editing
Внесите изменения в схемы в режиме Play, и система обновит скрипт в реальном времени. Это значительно ускоряет итерацию и тестирование идей без необходимости компилировать изменения в проекте.
Отладка и анализ
Визуальный скриптинг предназначен для отображения значений в графе в игровом режиме с подсветкой выполняемых узлов. При возникновении ошибок во время выполнения их источник будет распознан и подсвечен в графе.
Разработано с упором на удобство использования
Благодаря продуманности правил наименования, комментирования и группировки, система визуального программирования имеет дружелюбный для пользователя без технических навыков интерфейс, что делает работу проще. А при возникновении трудностей инструмент Fuzzy Finder позволяет легко найти то, что вы ищете.
Совместимость кодовой базы
Система визуального скриптинга поддерживает использование в схемах любых методов, полей, атрибутов или событий Unity, а также любые сторонние плагины или даже ваши собственные скрипты. Благодаря прямому доступу системы к вашей кодовой базе все изменения кода тут же отражаются в интерфейсе.
Подробнее
Unity Learn
Этот полный курс Unity Learn поможет вам начать работу с системой визуального программирования.
Документация
Ознакомьтесь с документацией, чтобы узнать больше о визуальном программировании в Unity.
Сообщество
Примите участие в обсуждениях на форуме сообщества и следите за новостями визуального скриптинга в Unity.
Визуальный скриптинг — это способ манипуляции объектами и разработки алгоритмов в графическом интерфейсе Unity без написания кода. Логика реализуется узлами и связями между ними, что позволяет художникам, дизайнерам и программистам с легкостью прорабатывать игровой процесс и интерактивные системы.
Начиная с Unity 2021.1, система визуального скриптинга поставляется через Package Manager и устанавливается вместе с редактором Unity.
Для Unity 2019 и 2020 LTS систему Bolt Visual Scripting можно загрузить из Unity Asset Store бесплатно.
Unity Asset Store — это магазин с тысячами ассетов, доступных бесплатно или по разумной цене, которые экономят время и силы разработчикам в Unity. Это мощный ресурс для успешных Unity-разработчиков — он включает более 60 000 комплектов, содержащих инструменты и расширения для редактора, 2D- и 3D-графику, музыку кинематографического качества и звуковые эффекты, а также многое другое.
Инструмент Bolt Visual Scripting будет поддерживаться для проектов, созданных в Unity 2018, 2019 и 2020 LTS.
Начиная с Unity 2021.1, система визуального скриптинга будет входить в состав редактора Unity по умолчанию.
В настоящее время Unity проводит оценку возможных путей развития систем визуального программирования, включая Bolt, Bolt 2 и наше средство визуального программирования на основе DOTS. Мы хотим создать единое, тесно интегрированное решение, не приводящее к нарушению работы функций, не раскалывающее сообщество и в то же время соответствующее ожиданиям пользователей относительно готовности к использованию в разработке. Подробности о развитии визуального скриптинга можно узнать на нашем форуме.
Набор средств Visual Studio для Unity
Обзор
Инструменты Visual Studio для Unity представляют собой бесплатное расширение Visual Studio, которое превращает Visual Studio в мощное средство для разработки кроссплатформенных игр и приложений с помощью платформы Unity.
Редактор Unity отлично подходит для объединения вашей игровой среды, но непосредственно в нем создавать код нельзя. Благодаря набору средств Инструментов Visual Studio для Unity можно использовать знакомые возможности среды Visual Studio редактирования, отладки и повышения производительности кода, чтобы создавать редактор и игровые скрипты для проекта Unity на C#, а также отлаживать их с помощью мощных средств отладки Visual Studio.
Однако набор средств Visual Studio Tools для Unity не ограничивается только вышеперечисленным. Он также тесно интегрирован с редактором Unity, что позволяет тратить меньше времени на выполнение простых задач, обеспечивает повышение производительности, характерное для Unity, а также делает очень удобной работу с документацией по Unity.
Совместимость с Visual Studio Community в Windows и macOS и объединение с Unity
Visual Studio и Visual Studio для Mac Community доступна бесплатно и входит в пакет установки Unity. Дополнительные сведения об установке и настройке см. в статье Начало работы с инструментами Visual Studio для Unity.
IntelliSense для сообщений Unity
Расширенные возможности отладки
Инструменты Visual Studio для Unity поддерживают надежные функции отладки, характерные для Visual Studio:
Интегрированные предложения для получения рекомендаций и аналитических сведений о производительности
Напишите эффективный код, сочетающий в себе лучшие методики и глубокое понимание проектов Unity Visual Studio.
Поддержка CodeLens для скриптов и сообщений Unity
Функции скриптов и сообщений Unity снабжены указаниями, упрощающими распознавание данных, предоставляемых Unity, и вашего кода.
Поддержка CodeLens реализована в Visual Studio версии 2019.
Оптимизированное представление всех скриптов в соответствии с Unity
Обозреватель проектов Unity (UPE) — это альтернативный способ просмотра файлов проекта по сравнению со стандартным обозревателем решений. UPE фильтрует указанные файлы и представляет их в иерархии, соответствующей Unity (Вид > Обозреватель проектов Unity в Visual Studio 2019).
Обозреватель проектов Unity доступен в Visual Studio 2019. В Visual Studio для Mac Панель решения имеет аналогичное поведение по умолчанию для проектов Unity. Дополнительные представления не требуются.
Программа для написания кода для юнити
JetBrains Rider — быстрый и мощный редактор C# для Unity, который работает на Windows, Mac и Linux. Непревзойденное количество интеллектуальных механизмов инспекции кода и рефакторинга (более 2500), включенных в Rider, позволяют писать безошибочный код на C# гораздо быстрее.
Легкая интеграция с Unity
В Rider уже встроена поддержка Unity. Когда вы впервые откроете решение Unity, Rider будет автоматически установлен в качестве стандартного редактора для файлов шейдеров и сценариев C#. Впоследствии при двойном щелчке по файлу шейдера или сценарию C# они будут открываться в Rider.
Управление редактором Unity
Благодаря интегрированному механизму двусторонней связи вы можете входить или выходить из режима Play, а также приостанавливать его и продолжать выполнение покадровыми шагами, при этом не покидая Rider. На панели инструментов есть кнопки просмотра игры Play, Pause и Step, которые работают так же, как в редакторе Unity. Небольшая иконка Unity в строке состояния показывает состояние редактора Unity: подключен, обновляет состояние или находится в режиме Play. Любые изменения, внесенные в Rider в режиме Edit, будут сразу же переданы в редактор Unity.
Советы по коду
Rider предоставляет высококлассный механизм анализа кода C# и содержит как специальные инспекции кода для Unity, так и необходимые быстрые исправления.
Удобная отладка Unity
Rider позволяет без проблем осуществлять отладку ваших скриптов C#, когда они выполняются в редакторе Unity. Все необходимые параметры уже настроены, вам нужно лишь нажать сочетание клавиш, команду меню или кнопку Debug на панели инструментов, чтобы подключить отладчик к запущенному редактору Unity. В редакторе можно устанавливать точки останова, исполнять код пошагово, просматривать значения локальных переменных, отслеживать определенные значения, а также вычислять выражения.
С помощью Rider можно выполнять даже отладку кода, для которого нет отладочной информации. Rider автоматически декомпилирует внешние библиотеки, позволяя выполнять отладку декомпилированного кода, входить во вложенные функции, устанавливать точки останова, просматривать и устанавливать локальные и другие переменные.
Запуск тестов Unity
Прямо из Rider можно запускать тесты, взаимодействующие с Unity API и способные выполнять код покадрово. Ну и конечно же, изучать результаты тестов Unity можно так же, как и с обычными тестами, — например, фильтровать по результату и щелкать по трассировкам стека для перемещения по коду.
Журналы консоли Unity
Новое окно инструмента Unity Logs с гиперссылками на трассировки стека позволяет просматривать события, которые регистрируются в консоли редактора Unity. Оно позволяет фильтровать события по категории (ошибка, предупреждение или сообщение), скрывать их в зависимости от того, когда они были зафиксированы (в режиме Play или Edit), а также с легкостью переходить к любому исходному файлу, классу, методу или свойству, упомянутым в записи журнала. Окно Unity Logs автоматически очищается после каждого перехода в режим Play.
Подсветка проблем производительности
Rider позволяет писать более производительный C#-код для Unity. Это достигается путем подсветки ресурсоемких API Unity внутри методов, которые вызываются каждый кадр, таких как Update и корутины. Rider подсвечивает вызовы даже тех методов, которые используют ресурсоемкие API Unity неявным образом.
Помимо этого, Rider оснащен множеством специально предназначенных для Unity инспекций и соответствующих быстрых исправлений. Он способен распознавать паттерны низкопроизводительного кода и может рекомендовать для них автоматические исправления, например использовать перегрузку, кэширование значений или альтернативный API.
Поиск вхождений в файлах Unity
Теперь Find Usages включает в себя сцены, ресурсы и префабы Unity. Если вы ищете класс или метод, используемый в качестве обработчика событий, Rider показывает, где он используется в ваших файлах Unity, группируя такие места по типу, наименованию компонента и родительским игровым объектам. Более того, при двойном щелчке на элементе его вхождения подсвечиваются непосредственно в редакторе Unity.
Теперь при извлечении этой информации из файлов Unity Rider корректно подсвечивает методы обработчика событий как неявно используемые. Подсветка неявного использования преобразуется в ссылки Code Vision, что позволяет вам сразу видеть, какие классы, методы и поля неявно используются Unity. При нажатии на такую ссылку будут найдены все вхождения элемента, в том числе в файлах Unity.
Поддержка шейдеров
Rider теперь также поддерживает файлы .shader, обеспечивая подсветку синтаксиса, сворачивание кода, выделение парных скобок и многое другое. Подсвечиваются синтаксические ошибки в разделах ShaderLab, комментарии типа todo упорядочиваются в окне To Do Explorer, подсветкой также отмечаются цветовые свойства, которые можно редактировать с помощью специального инструмента выбора цвета. Автозаполнение простых слов доступно в рамках всего файла, в том числе в блоках кода Cg/HLSL.
Просмотр документации Unity
Бесплатная пробная версия на 30 дней
Клиенты
«Наличие подходящего инструментария исключительно важно для сохранения конкурентоспособности на любом рынке — и особенно в сфере игр. Каждый разработчик в Yakuto имеет подписку на JetBrains Toolbox — важность этого пакета для продуктивной работы, с нашей точки зрения, невозможно переоценить. Основная наша работа ведется в C# на компьютерах Mac. Из-за этого раньше нам требовалась виртуальная машина с ReSharper, но благодаря Rider мы работаем с одной ОС в native-режиме, и это просто здорово. Отладка Unity стала бесшовным процессом, а расширения позволили установить важную контекстуальную связь с Unity. Будучи опытным пользователем ReSharper, я чувствую себя в Rider как дома: рефакторинг, глобальный анализ решения, инструменты запуска тестов — все это у меня под рукой. Мы даже не можем себе представить, как вели бы разработку на C# без Rider».
Джеймс Грэттон
Технический директор, Yakuto
«Rider быстро стала единственной IDE, которую хочется использовать для любых задач разработки на UE4 или Unity. Я экономлю очень много времени благодаря понятным рабочим процессам и доволен интеграцией с P4. Когда руководители видят, как быстро мы движемся от постановки задач к решению, они приходят в восторг от продукта. Rider устраняет все затруднения, мешающие нам делать то, что мы умеем лучше всего, — писать код».
«Во всех смыслах лучшая IDE для Unity под Mac. Беспрецедентные возможности отладки и рефакторинга».
Эрин Кинен
Инженер-программист, компания-производитель мобильных игр N3twork
Использование инструментов Visual Studio для Unity
В этом разделе мы рассмотрим, как использовать возможности интеграции и повышения производительности набора средств Visual Studio для Unity, а также как использовать отладчик Visual Studio для разработки Unity.
Открытие скриптов Unity в Visual Studio
после того как Visual Studio установлен в качестве внешнего редактора для unity, двойной щелчок скрипта в редакторе unity автоматически запустится или переключится на Visual Studio и откроет выбранный скрипт.
кроме того, можно открыть Visual Studio без открытия скрипта в редакторе исходного кода, выбрав активы > открыть меню Project C# в Unity.
Доступ к документации по Unity
Доступ к документации по созданию скриптов Unity можно быстро получать из Visual Studio. Если набор средств Visual Studio для Unity не находит документацию по API в локальном режиме, он попытается найти ее через Интернет.
IntelliSense для сообщений API Unity
Средство автозавершения кода IntelliSense позволяет легко реализовать сообщения API Unity в скриптах MonoBehaviour и помогает в изучении API Unity. Чтобы использовать IntelliSense для сообщений Unity, сделайте следующее:
После ввода букв «ontri» отображается список предложений IntelliSense.
Выбранный элемент в списке можно изменить тремя способами:
с помощью клавиш со стрелками ВВЕРХ и ВНИЗ;
щелкая нужный элемент;
продолжив ввод имени нужного элемента.
IntelliSense может вставить выбранное сообщение Unity, включая все необходимые параметры:
при нажатии клавиши TAB;
при нажатии клавиши ВВОД;
при двойном щелчке выбранного элемента.
Мастер создания скриптов Unity MonoBehavior
Мастер MonoBehavior можно использовать для просмотра списка всех методов API Unity и быстрого выполнения пустого определения. Эта функция, особенно со включенным параметром Создать комментарии для метода, полезна при изучении того, что доступно в Unity API.
Создание определений пустых методов MonoBehavior с помощью мастера MonoBehavior.
В Visual Studio поместите курсор туда, где необходимо вставить методы, а затем нажмите клавиши CTRL+SHIFT+M для запуска мастера MonoBehavior. в Visual Studio для Mac нажмите Cmd + Shift + M.
В окне Создание методов скрипта установите флажок рядом с именем каждого метода, который нужно добавить.
Чтобы выбрать необходимую версию, используйте раскрывающийся список Версия платформы.
Методы по умолчанию вставляются в позицию курсора. В качестве альтернативы можно вставить их после любого метода, который уже реализован в классе. Для этого измените значение раскрывающегося списка точка вставки на нужное расположение.
Если вы хотите, чтобы мастер создавал комментарии для выбранных методов, установите флажок Создать комментарии к методу. Эти комментарии позволяют лучше понять, когда вызывается метод и каковы его общие функции.
Нажмите кнопку ОК, чтобы выйти из мастера и вставить методы в код.
Обозреватель проектов Unity
Обозреватель проектов Unity показывает все файлы и каталоги ваших проектов Unity в том же виде, что и редактор Unity. Это отличается от навигации по сценариям Unity с помощью обычного обозревателя решений Visual Studio, который организует их в проекты и решения, созданные Visual Studio.
Отладка Unity
Набор средств Visual Studio для Unity позволяет отлаживать скрипты редакторов и игр для проекта Unity с помощью мощного отладчика Visual Studio.
Отладка в редакторе Unity
Начать отладку
Остановка отладки
В Visual Studio нажмите кнопку Стоп или используйте сочетание клавиш SHIFT + F5.
Нажмите кнопку Остановить в Visual Studio для Mac или клавиши SHIFT+COMMAND+ВВОД.
Дополнительные сведения об отладчике Visual Studio см. в статье First look at the Visual Studio Debugger (Первое знакомство с отладчиком Visual Studio).
Подключение к Unity и воспроизведение
Для дополнительного удобства кнопку Подключить к Unity можно заменить на режим Подключить к Unity и воспроизвести.
Затем на кнопке «Воспроизведение» появляется метка Подключение к Unity и воспроизведение. Нажатие этой кнопки или использование клавиши F5 приведет к автоматическому переключению на редактор Unity и запуску игры в редакторе, в дополнение к подключению отладчика Visual Studio.
Начать отладку и воспроизведение в редакторе Unity можно за один шаг, непосредственно из Visual Studio для Mac, выбрав конфигурацию Подключение к Unity и воспроизведение.
Если отладка была запущена с помощью команды присоединить к Unity и воспроизвести конфигурацию, то кнопка » Закрыть » также останавливает редактор Unity.
Отладка сборок проигрывателя Unity
Сборки приложений Unity можно отлаживать с помощью Visual Studio.
Включение отладки скриптов в проигрывателе Unity
Чтобы открыть параметры сборки в Unity, выберите Файл > Параметры сборки.
В окне параметров сборки установите флажки Сборка разработки и Отладка скриптов.

Выбор экземпляр Unity для присоединения отладчика
В главном меню Visual Studio выберите Отладка > Присоединить отладчик Unity.
В диалоговом окне Выбор экземпляра Unity отображаются сведения о каждом экземпляре Unity, к которому можно подключиться.
Project
Имя проекта Unity, который выполняется в этом экземпляре Unity.
Компьютер Имя компьютера или устройства, на котором выполняется этот экземпляр Unity.
Тип Редактор — если этот экземпляр Unity выполняется как часть редактора Unity; Проигрыватель — если этот экземпляр Unity является автономным проигрывателем.
Порт Номер порта UDP-сокета, через который данный экземпляр Unity обменивается данными.
так как Инструменты Visual Studio для Unity и экземпляр Unity обмениваются данными через сетевой сокет UDP, для разрешения этого брандмауэра может потребоваться правило. При необходимости может появиться запрос на подключение, чтобы VSTU и Unity могли обмениваться данными.
Отладка библиотеки DLL в проекте Unity
Многие разработчики Unity создают компоненты кода в виде внешних библиотек DLL, чтобы разрабатываемые ими функции можно было легко совместно использовать с другими проектами. Набор средств Visual Studio для Unity упрощает отладку кода в этих библиотеках DLL без создания проблем для другого кода в проекте Unity.
В настоящее время набор средств Visual Studio для Unity поддерживает только управляемые библиотеки DLL. Он не поддерживает отладку библиотек DLL машинного кода, например библиотек, созданных на языке C++.
Обратите внимание, что описанный здесь сценарий предполагает, что у вас есть исходный код, то есть вы разрабатываете или повторно используете свой собственный код, или у вас есть исходный код для библиотеки стороннего разработчика и вы планируете его развернуть в проекте Unity как библиотеку DLL. Данный сценарий не описывает отладку библиотеки DLL, для которой у вас нет исходного кода.
Отладка проекта с управляемой библиотекой DLL, используемой в проекте Unity
Добавьте существующий проект библиотеки DLL в решение Visual Studio, которое создается набором средств Visual Studio для Unity. В ряде случаев вы можете создать новый проект с управляемой библиотекой DLL, который будет содержать компоненты кода проекта Unity. В этом сценарии в решение Visual Studio можно добавить новый проект с управляемой библиотекой DLL.
В любом случае набор средств Visual Studio для Unity сохраняет ссылку на проект, даже если он должен повторно создать файлы проекта и решения, поэтому эти действия нужно будет выполнить только один раз.
Создайте ссылку на нужный профиль платформы Unity в проекте DLL. В Visual Studio в свойствах проекта DLL для свойства Целевая платформа укажите версию платформы Unity, которую вы используете. Это библиотека базового класса Unity, соответствующая уровню совместимости API, на который ориентирован ваш проект, например библиотека базовых классов Unity full, micro или web. Благодаря этому ваша библиотека DLL не будет вызывать методы платформы, существующие на других платформах или уровнях совместимости, но которые могут отсутствовать в версии платформы Unity, которую вы используете.
Скопируйте библиотеку DLL в папку Asset (ресурсы) своего проекта Unity. В Unity ресурсы представляют собой файлы, которые упаковываются и развертываются вместе с вашим приложением Unity, чтобы их можно было загружать во время выполнения. Так как библиотеки DLL связываются во время выполнения, их необходимо развертывать как ресурсы. Для развертывания в виде ресурса редактору Unity требуется, чтобы библиотеки DLL были помещены в папку Assets вашего проекта Unity. Предусмотрены два способа выполнения этой задачи.
Измените параметры сборки проекта DLL, чтобы добавить выполняемую после сборки задачу, которая скопирует выходные файлы DLL и PDB из выходной папки в папку Активы проекта Unity.
Измените параметры сборки проекта DLL, чтобы сделать выходной папкой папку Assets проекта Unity. Теперь файлы DLL и PDB будут сразу помещаться в папку Assets.
PDB-файлы необходимы для отладки, так как они содержат символы отладки библиотеки DLL и сопоставляют код DLL с формой его исходного кода. Если будет применяться устаревшая среда выполнения, Инструменты Visual Studio для Unity будут использовать сведения из файлов DLL и PDB для создания файла DLL.MDB. Это формат отладочных символов, применяемый устаревшим модулем обработки скрипов Unity. Если будет применяться новая среда выполнения и формат Portable-PDB, Инструменты Visual Studio для Unity не будут пытаться преобразовывать символы, так как новая среда выполнения Unity может самостоятельно обрабатывать файлы Portable-PDB.
См. подробнее сведения о создании PDB-файлов. Если будет применяться новая среда выполнения, убедитесь, что для параметра «Отладочная информация» задано значение «Переносимый» для корректного создания файла Portable PDB. Если будет применяться устаревшая среда выполнения, воспользуйтесь значением «Полный».
Выполните отладку своего кода. Теперь вы можете отлаживать свой исходный код DLL вместе с исходным кодом проекта Unity и использовать все доступные функции, например точки останова и пошаговое выполнение кода.
Сочетания клавиш
Для быстрого доступа средств Unity к функциям Visual Studio можно использовать соответствующие сочетания клавиш. Ниже приведен список таких сочетаний клавиш.
Команда | Сочетание клавиш | Имя контекстной команды |
---|---|---|
Открыть мастер MonoBehavior | CTRL+SHIFT+M | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Открыть обозреватель проектов Unity | ALT+SHIFT+E | View.UnityProjectExplorer |
Доступ к документации по Unity | CTRL+ALT+M, CTRL+H | Help.UnityAPIReference |
Присоединиться к отладчику Unity (проигрыватель или редактор) | значение по умолчанию отсутствует | Debug.AttachUnityDebugger |
Если вас не устраивает сочетание клавиш по умолчанию, его можно изменить. Чтобы узнать, как это сделать, см. статью Определение и настройка сочетаний клавиш в Visual Studio.
Команда | Сочетание клавиш | Имя контекстной команды |
---|---|---|
Открыть мастер MonoBehavior | Команда cmd + SHIFT + М | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Доступ к документации по Unity | Cmd + ‘ | Help.UnityAPIReference |
Если вас не устраивает сочетание клавиш по умолчанию, его можно изменить. Сведения о том, как изменить его, см. в разделе Настройка интегрированной среды разработки.