Unity Development with VS Code
Visual Studio Code can be a great companion to Unity for editing and debugging C# files. All of the C# features are supported and more. In the screen below, you can see code colorization, bracket matching, IntelliSense, CodeLens and that’s just the start.
Read on to find out how to configure Unity and your project to get the best possible experience.
Prerequisites
[Windows only] Logout or restart Windows to allow changes to %PATH% to take effect.
[macOS only] To avoid seeing «Some projects have trouble loading. Please review the output for more details», make sure to install the latest stable Mono release.
Note: This version of Mono, which is installed into your system, will not interfere with the version of MonoDevelop that is installed by Unity.
Install the C# extension from the VS Code Marketplace.
Setup VS Code as Unity Script Editor
Open up Unity Preferences, External Tools, then browse for the Visual Studio Code executable as External Script Editor.
The Visual Studio Code executable can be found at /Applications/Visual Studio Code.app on macOS, %localappdata%\Programs\Microsoft VS Code\Code.exe on Windows by default.
Unity version 2019.2 or above
Since 2019.2, it is required to use the Visual Studio Code Editor package. The built-in support for opening scripts from Unity and getting csproj and sln files generated has been removed.
Editing Evolved
With the solution file selected, you are now ready to start editing with VS Code. Here is a list of some of the things you can expect:
Two topics that will help you are Basic Editing and C#. In the image below, you can see VS Code showing hover context, peeking references and more.
Unity Extensions
The community is continually developing more and more valuable extensions for Unity. Here are some popular extensions that you might find useful. You can search for more extensions in the VS Code Extension Marketplace.
The extensions shown above are dynamically queried. Select an extension tile above to read the description and reviews to decide which extension is best for you. See more in the Marketplace.
Enabling code completion (For recent versions of Unity)
If you are installing VS Code for the first time, you might be missing targeting packs required for Unity’s code-completion (IntelliSense) in VS Code.
Targeting pack download links:
Enabling Unity warnings
Unity has a set of custom C# warnings, called analyzers, that check for common issues with your source code. These analyzers ship out of the box with Visual Studio but need to be set up manually in Visual Studio Code.
Your omnisharp.json file should end up looking like this:
The Unity analyzers should now be working in your project. You can test them by creating an empty FixedUpdate() method inside one of your MonoBehavior classes, which should trigger a The Unity message ‘FixedUpdate’ is empty warning (UNT0001).
Note that while it is possible to activate these analyzers, the suppressors they ship with the package (that turn off other C# warnings that may conflict with these custom ones) may not be picked up by OmniSharp at the moment, according to this thread. You can still turn off specific rules manually by following these steps:
You are now ready to code in Visual Studio Code, while getting the same warnings as you would when using Visual Studio!
Next steps
Read on to learn more about:
Common questions
I don’t have IntelliSense
You need to ensure that your solution is open in VS Code (not just a single file). Open the folder with your solution and you usually will not need to do anything else. If for some reason VS Code has not selected the right solution context, you can change the selected project by clicking on the OmniSharp flame icon on the status bar.
How can I change the file exclusions?
Unity creates a number of additional files that can clutter your workspace in VS Code. You can easily hide these so that you can focus on the files you actually want to edit.
To do this, add the following JSON to your workspace settings.
As you can see below this will clean things up a lot.
| Before | After |
|---|---|
![]() | ![]() |
How can I debug Unity?
Install the Debugger for Unity extension. And check out Debugging with VS Code to learn more about VS Code debugging support.
Набор средств 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. Дополнительные представления не требуются.
Редактор кода для 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 устраняет все затруднения, мешающие нам делать то, что мы умеем лучше всего, — писать код».
«Для разработки на Unity мы используем только Rider. Эта IDE экономит кучу времени, превосходно анализируя C#-код и предлагая инспекции и быстрые исправления, специфичные для Unity. Rider всегда предупредит, если мы попробуем использовать ключевое слово new для создания экземпляра класса, производного от MonoBehavior или ScriptableObject. Также нам здорово помогают возможности отладки. Rider – отличный инструмент!»
Визуальное программирование
Система визуального программирования в 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 Code vs Rider для Unity.
Комплексное сравнение реализации возможностей Rider и VSCode.
Несколько лет назад я перешел с Atom на VSCode просто потому, что мне нравится его блочный и плоский интерфейс, но вскоре я обнаружил, что VSCode также обладает обширным количеством функций, но они хорошо спрятаны. Ладно, что побуждает меня рассматривать Rider именно сейчас?
Visual Studio Code почти что идеален — в нем практически нет недостатков. Несмотря на это, я не считаю целесообразным платить деньги только ради того, чтобы устранить некоторые раздражающие меня моменты, которые присущи практически всем текстовым редакторам с которыми я работал.
Rider, в свою очередь, не может похвастаться отсутствием раздражающих фич, однако он известен своим IDE «интеллектом» и глубокой интеграцией с Unity. На самом деле мне все равно. Я просто хочу улучшенный и более укомплектованный текстовый редактор, такой как VSCode, но с отсутствием некоторых недостатков. В этой статье я расскажу о том, как настроить Rider и как сделать так, чтобы он был похож на VSCode, дабы я мог наслаждаться как отсутствием раздражающих моментов, так и простым и понятным интерфейсом.
Структура Rider vs VSCode
❶ Преимущества и недостатки Rider по сравнению с VSCode.
❷ Как сделать Rider более похожим на VSCode (для любителей VSCode, которые хотят избавиться от некоторых неприятных моментов VSCode).
❸ Я буду стараться рассматривать мельчайшие детали, так как практически все текстовые редакторы очень похожи друг на друга. Разницу можно заметить лишь в маленьких деталях.
P.S. В статье рассматривается версия Rider 2019.3
Бесконечная лицензия
Первое, что вы подумаете, когда посетите их вебсайт: «Я не хочу платить за подписку на обычный текстовый редактор!» Ну, текстовый редактор — это один из главных инструментов программиста, и к тому же его трудно совершенствовать, поэтому вам, возможно, придется пересмотреть его ценность.
В моем случае я бы согласился на разовый платеж. Мне понравилась модель подписки, которую предлагают разработчики Rider по причине отсутствия необходимости платить до тех пор, пока я не увижу, что они предлагают. По сути, когда вы прекращаете подписку, вы просто прекращаете получать обновления и можете продолжать использовать имеющуюся версию Rider. В Adobe, например, все иначе — по завершении подписки, вам блокируется доступ ко всем инструментам. Модель подписки Rider заставила меня задуматься о покупке. Да, эта модель больше похожа на покупку, а не на ежемесячные платежи. Больше информации здесь.
VSCodeVim vs IdeaVim
Я понимаю, что я не вправе осуждать VSCodeVim за наличие багов как минимум потому, что это проект с открытым исходным кодом, доступным на GitHub. Если я не вношу свой вклад в разработку, то я не имею права требовать от него чего-либо. Однако верно и то, что у меня может не быть времени на разработку VSCodeVim, и, в таком случае, IdeaVim — это неплохое решение, поддерживаемое коммерческой компанией, на которое я мог бы потратить деньги вместо времени. Я также полагаю, что деньги могут замотивировать вас и заставить делать продукт более изысканным.
IdeaVim быстрый!
Omnisharp vs ReSharp
В целом Omnisharp работает нормально, в том числе когда дело касается переименования переменных во всем проекте, что, лично для меня, важно. Благодаря Omnisharp я могу не тратить много времени на название переменной, а просто придумывать его на ходу, а потом, если нужно будет, я могу его(название) легко изменить. Однако в некоторых ситуациях это не работает. Например, если эта переменная в лямбда-методе не завершается автоматически, в отличие от простой лямбды. Этот шаблон важен в библиотеке ECS Unity.





























