Третья экспериментальная версия Visual Scripting в Unity

Одной из самых востребованных функций в Unity, помимо тёмной темы в бесплатной версии (¬‿¬ ), является Visual Scripting, похожий на Blueprint в Unreal Engine.

Разработчики из Unity работали над экспериментальной версией Unity Visual Script и недавно выпустили 3-ю экспериментальную версии вместе с демкой. Не забывайте, что инструмент на стадии разработки, в проде лучше не использовать, да и документацию пока не завезли.

Так же не стоит забывать, что работать будет только в DOTS проектах, с MonoBehaviour кодом не совместимо. Для пробы нужно версия Unity минимум 2019.3.0a11. Подробнее про это решение можно почитать в треде про 2 версию.

В этом конкретном случае мы поняли, что существует довольно много зрелых решений, которые большая часть сообщества успешно использует для визуального программирования. Мы посчитали, что решение поверх MonoBehaviours с точки зрения визуальных сценариев, было бы не особо лучше решений из нашего магазине ассетов.

— Joachim Ante

С другой стороны, мы увидели возможность сфокусировать VisualScripting на DOTS. Это позволит художникам и дизайнерам уровней писать невероятно эффективный многопоточный игровой код, просто выражая реализуя свои идеи, а код будет генерироваться с учётом всех плюшек DOTS. Ориентированная на данные природа DOTS открывает много новых возможностей для визуальных сценариев и взаимодействия с другими основанными на коде системами.

— Joachim Ante

Демку можно скачать тут.

Фичи

Редактор компонентов/событий

Это окно позволит вам создавать и редактировать компоненты и события.

Отключение графов и узлов

Вы можете выбрать определенные разделы графика и отключить их, используя меню по правой кнопке мыши. Выключенный код не будет выполнен или скомпилирован. Вы также можете отключить весь этот граф с помощью инспектора на графе, там вы должны увидеть опции state. Для открытия этого инспектора просто дважды щёлкните на холсте выбранного графика.

Панель описания в поисковике

Будет показан выбранный узел на этой панели, прежде чем добавить его на свой холст.

Обнаружение неиспользуемых узлов и стилизация

Используя меню cog на графе, вы можете включить/отключить эту функцию. Это поможет вам увидеть, какие узлы не используются и не генерируют никакого кода.

Дебаг логи

Были перегруппированы все логи вместе, чтобы сформировать 1 большой узел. Вы можете просто переключить тип сообщения, которое хотите отправить, используя выпадающее меню.

Было поправлено куча багов:

  • VSB-233 For All Entities variables does not exist in the current context
  • VSB-232 Empty criteria create compilation error
  • VSB-231 Equals node return multiple bools instead of only one
  • VSB-230 Deleting a macro asset will break all graphs that are using it
  • VSB-214 Set Time Scale ‘Time’ does not contain a definition for ‘time Scale’
  • VSB-211 Multiple Errors when creating nodes
  • VSB-208 Missing a refresh after deleting sticky note
  • VSB-207 Color Constant Node is getting alpha to black
  • VSB-203 Hover on «For each» nodes in searcher will create it
  • VSB-201 Moving component fields in cs file break nodes port connection order
  • VSB-200 Get Component Node not displaying its type list
  • VSB-196 Cannot create node that takes a pointer as parameter
  • VSB-193 Can’t find Color Constant node
  • VSB-192 Renaming a graph don’t rename it’s cs script
  • VSB-190 Can’t rename custom function
  • VSB-188 Copy paste a macro will put it in a stack
  • VSB-187 Styling of the searcher is broken
  • VSB-186 Naming in blackboard, breadcrumb doesn’t follow selected graph
  • VSB-185 «local to world» criteria cannot be selected
  • VSB-184 Criteria section in function collapse in each refresh
  • VSB-180 Functions don’t show return type
  • VSB-179 “Rotate by” node deform object when two axis are selected
  • VSB-178 Variable from events send error ‘graphData’ does not exist in the current context
  • VSB-177 Node duplication break when going in play mode
  • VSB-175 Creating a «Get input» breaks the visual scripting editor
  • VSB-165 Renaming a graph isn’t showing up in toolbar when docked
  • VSB-164 «Float 4» UI in criteria is broken
  • VSB-35 Can’t add Macro input and output ports in the blackboard