Как установить monobehaviour visual studio
В этом разделе мы рассмотрим, как использовать возможности интеграции и повышения производительности набора средств Visual Studio для Unity, а также как использовать отладчик Visual Studio для разработки Unity.
Открытие скриптов Unity в Visual Studio
после того как Visual Studio установлен в качестве внешнего редактора для unity, двойной щелчок скрипта в редакторе unity автоматически запустится или переключится на Visual Studio и откроет выбранный скрипт.
Доступ к документации по Unity
Доступ к документации по созданию скриптов Unity можно быстро получать из Visual Studio. Если набор средств Visual Studio для Unity не находит документацию по API в локальном режиме, он попытается найти ее через Интернет.
- В Visual Studio выделите API Unity, с которым хотите ознакомиться (или наведите на него курсор), а затем нажмите клавиши CTRL+ALT+M, CTRL+H.
- Кроме того, вместо настраиваемое сочетание клавиш можно использовать Справочное меню Help > Unity API .
- в Visual Studio для Mac выделите или поместите курсор на API Unity, который вы хотите изучить, а затем нажмите клавишу Cmd + .
- Кроме того, вместо настраиваемое сочетание клавиш можно использовать Справочное меню Help > Unity API .
Поместите курсор на новую строку внутри тела класса, производного от MonoBehaviour .
После ввода букв "ontri" отображается список предложений IntelliSense.
Выбранный элемент в списке можно изменить тремя способами:
с помощью клавиш со стрелками ВВЕРХ и ВНИЗ;
щелкая нужный элемент;
продолжив ввод имени нужного элемента.
при нажатии клавиши 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.
- В главном меню Visual Studio выберите Представление > Обозреватель проектов Unity. Сочетание клавиш: ALT+SHIFT+E
- в Visual Studio для Mac Панель решения автоматически ведет себя следующим образом при открытии проекта Unity.
Отладка Unity
Набор средств Visual Studio для Unity позволяет отлаживать скрипты редакторов и игр для проекта Unity с помощью мощного отладчика Visual Studio.
Отладка в редакторе Unity
Начать отладку
- Visual Studio можно подключить к Unity, нажав кнопку Воспроизвести, отмеченную меткой Подключить к Unity, или использовав клавишу F5.
- Подключите Visual Studio к Unity, нажав кнопку Воспроизвести, клавиши COMMAND+ВВОД или клавишу F5.
- Переключитесь в Unity и нажмите кнопку Воспроизвести, чтобы запустить игру в редакторе.
- Когда игра запущена в редакторе Unity при подключении к Visual Studio, все проходимые точки останова будут приостанавливать выполнение игры и выводить соответствующую строку кода в Visual Studio.
Остановка отладки
В Visual Studio нажмите кнопку Стоп или используйте сочетание клавиш SHIFT + F5.
Подключение к Unity и воспроизведение
Для дополнительного удобства кнопку Подключить к Unity можно заменить на режим Подключить к 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, к которому можно подключиться.
Проект Имя проекта Unity, который выполняется в этом экземпляре Unity.
Компьютер Имя компьютера или устройства, на котором выполняется этот экземпляр Unity.
Тип Редактор, если данный экземпляр Unity работает как часть редактора Unity; Проигрыватель, если этот экземпляр Unity является автономным проигрывателем.
Порт Номер порта UDP-сокета, через который данный экземпляр Unity обменивается данными.
так как Инструменты Visual Studio для Unity и экземпляр Unity обмениваются данными через сетевой сокет UDP, для разрешения этого брандмауэра может потребоваться правило. При необходимости может появиться запрос на подключение, чтобы VSTU и Unity могли обмениваться данными.
Выбор экземпляра Unity, который не отображается в списке
Если у вас установлен известный проигрыватель Unity, который не отображается в списке, можно использовать кнопку входные IP-адреса в окне Выбор экземпляра Unity. Введите IP-адрес и порт работающего проигрывателя Unity, чтобы подключить отладчик.
Чтобы упростить отладку проигрывателя, не вводя IP-адрес и порт каждый раз, включите параметр использовать сохраненные целевые объекты отладки в меню сервис > параметры > инструменты для Unity > общие .
Visual Studio будет показывать сохраненные целевые объекты отладки в качестве варианта кнопки присоединить к Unity.
- в Visual Studio для Mac в верхнем меню выберите выполнить > присоединить к процессу.
- В диалоговом окне Присоединение к процессу выберите параметр отладчик Unity в раскрывающемся меню отладчика внизу.
- Выберите экземпляр 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 |
Если вас не устраивает сочетание клавиш по умолчанию, его можно изменить. Сведения о том, как изменить его, см. в разделе Настройка интегрированной среды разработки.
public class controller : MonoBehaviour
public float speed;
public float jumpForce;
private float moveInput;
private Rigidbody2D rb;
private void start()
rb = GetComponent();
>
private void FixedUpdate()
moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);
>
Помогите очень прошу
У меня была точно такая же проблема, но я установил Визуал студио с Юнити Хаб и всё заработало. Слева выбери Installs, нажми на синюю кнопку ADD и на свежую версию Юнити, нажми Next, и поставь галочку на Визуал Студио, и установи.
я уже скачивал новую версию, сегодня скачал вместе с Визуал студио. Но попытаюсь снова, спасибо что ответил если что то я возможно отвечу на твой коммент
я не могу скачать новую версию потому что она уже скачана я пытался скачать заново через installs, нажал на три точки около моей версии unity,Add modulеs. не получилось. я не знаю что делать
У тебя не наследуется класс MonoBehaviour. Тебе нужно его подключить в среду Visual Studio.
Нажми с верху кнопку Edit, выбираешь там меню "Preferences" После этого открывается окошка. С лева выбираешь раздел External Tools. После этого ищешь "External Script Editor" и там уже выбираешь Visual Studio.
теперь ошибка: NullReferenceException: Object reference not set to an instance of an object
controller.FixedUpdate () (at Assets/scripts/controllerr/controller.cs:19)
и скрипт не открывается. Не мог бы помочь?
QmlwZ Знаток (363) Ошибка возникает в строке под номером 19. Вы используете rb.velocity = new Vector2(moveInput * speed, rb.velocity.y); Вы подключаете сам скрипт к объекту в сцене. Проверьте есть ли у него компонент RigidBody2d. Если нет то нажмите на сам Объект в инспекторе объекта с низу есть кнопка Component. Нажимайте на неё и там вписывайте "RigidBody2d".
QmlwZ Знаток (363) Миша Волочёк, И я вам рекомендую. Используете метод FixedUpdate только работая с физикой. В примере вы написали rb.velocity = new Vector2(moveInput * speed, rb.velocity.y); А вот эту строку "moveInput = Input.GetAxis("Horizontal");" Использовать в Update();
Создал скрипт, в нём прописалось всё автоматически, так что тут ошибки быть не может, переношу скрипт на объект, получаю ошибку: can't add script behaviour Perlin.The script needs to derive from MonoBehaviour. Что делать? Перерыл весь интернет, нашёл только информацию о том, что такое может быть если имя файла не совпадает с именем класса (например если после генерации кода изменил название фала) Но это не мой случай, как видно на скрине у всё в этом плане всё чётко. Установил уже мусор. гхм.. то есть визуал студио.. проблему не решило, как я и думал. Что делать??
Вот что посредством переводчика смог нарыть. Я прошу прощения, Юнитом не пользуюсь по этому что есть то есть.
не удается добавить поведение скрипта Perlin.Скрипт должен быть производным от MonoBehaviour.
MonoBehaviour является базовым классом, из которого происходит каждый скрипт Unity.
Этот класс не поддерживает оператор null-conditional (?.) и нулевой коалесцирующий оператор (??).
Примечание: существует флажок для отключения MonoBehaviour на редакторе Unity. Отключает функции при снятии флажка. Если ни одна из этих функций не присутствует в скрипте, редактор не отобразит флажок. Функции:
Start()
Update()
FixedUpdate()
LateUpdate()
OnGUI()
OnDisable()
OnEnable()
У тебя походу эта хрень выключена.
Как удалось решить проблему?
Схожая ситуация, вот скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CubeFloat : MonoBehavior
// Start is called before the first frame update
public float speed;
public Vector3 target;
void Update()
transform.position = Vector3.MoveTowards (transform.position, target, Time.deltatime * speed);
>
>
Текст ошибки: Can't add script behaviour TMP_SelectionCaret. The script needs to derive from MonoBehaviour!
In this section, you'll learn how to use Visual Studio Tools for Unity's integration and productivity features, and how to use the Visual Studio debugger for Unity development.
Open Unity scripts in Visual Studio
Once Visual Studio is set as the external editor for Unity, double-clicking a script from the Unity editor will automatically launch or switch to Visual Studio and open the chosen script.
Unity documentation access
You can access the Unity scripting documentation quickly from Visual Studio. If Visual Studio Tools for Unity doesn't find the API documentation locally, it will try to find it online.
- In Visual Studio, highlight or place the cursor over the Unity API you want to learn about, then press Ctrl+Alt+M, Ctrl+H
- You can also use the Help > Unity API Reference menu instead of the keybinding.
- In Visual Studio for Mac, highlight or place the cursor over the Unity API you want to learn about, then press Cmd+'
- You can also use the Help > Unity API Reference menu instead of the keybinding.
Intellisense for Unity API Messages
Intellisense code-completion makes it easy to implement Unity API messages in MonoBehaviour scripts, and assists with learning the Unity API. To use IntelliSense for Unity messages:
Place the cursor on a new line inside the body of a class that derives from MonoBehaviour .
Begin typing the name of a Unity message, such as OnTriggerEnter .
Once the letters "ontri" have been typed, a list of IntelliSense suggestions appears.
The selection on the list can be changed in three ways:
With the Up and Down arrow keys.
By clicking with the mouse on the desired item.
By continuing to type the name of the desired item.
IntelliSense can insert the selected Unity message, including any necessary parameters:
By pressing Tab.
By pressing Enter.
By double-clicking the selected item.
Unity MonoBehavior scripting wizard
You can use the MonoBehavior wizard to view a list of all the Unity API methods and quickly implement an empty definition. This feature, particularly with the Generate method comments option enabled, is helpful if you are still learning what's available in the Unity API.
To create empty MonoBehavior method definitions with the MonoBehavior wizard:
In Visual Studio, position the cursor where you want the methods to be inserted, then press Ctrl+Shift+M to launch the MonoBehavior wizard. In Visual Studio for Mac, press Cmd+Shift+M.
In the Create script methods window, mark the checkbox next to the name of each method you want to add.
Use the Framework version dropdown to select your desired version.
By default, the methods are inserted at the position of the cursor. Alternatively, you can choose to insert them after any method that's already implemented in your class by changing the value of the Insertion point dropdown to the location you want.
If you want the wizard to generate comments for the methods you selected, mark the Generate method comments checkbox. These comments are meant to help you understand when the method is called and what its general responsibilities are.
Choose the OK button to exit the wizard and insert the methods into your code.
Unity Project Explorer
The Unity Project Explorer shows all of your Unity project files and directories in the same way that the Unity Editor does. This is different than navigating your Unity scripts with the normal Visual Studio Solution Explorer, which organizes them into projects and a solution generated by Visual Studio.
- On the main Visual Studio menu, choose View > Unity Project Explorer. Keyboard shortcut: Alt+Shift+E
- In Visual Studio for Mac, the Solution Pad automatically behaves like this when a Unity project is opened.
Unity debugging
Visual Studio Tools for Unity lets you debug both editor and game scripts for your Unity project using Visual Studio's powerful debugger.
Debug in the Unity editor
Start debugging
- Connect Visual Studio to Unity by clicking the Play button labeled Attach to Unity, or use the keyboard shortcut F5.
- Connect Visual Studio to Unity by clicking the Play button, or type Command + Return, or F5.
- Switch to Unity and click the Play button to run the game in the editor.
- When the game is running in the Unity editor while connected to Visual Studio, any breakpoints encountered will pause execution of the game and bring up the line of code where the game hit the breakpoint in Visual Studio.
Stop debugging
Click the Stop button in Visual Studio, or use the keyboard shortcut Shift + F5.
Click the Stop button in Visual Studio for Mac, or press Shift + Command + Return.
Attach to Unity and Play
For added convenience, you can change the Attach to Unity button to Attach to Unity and Play mode.
Click the small down arrow next to the Attach to Unity button.
Select Attach to Unity and Play from the dropdown menu.
The play button becomes labeled Attach to Unity and Play. Clicking this button or using the keyboard shortcut F5 now automatically switches to the Unity editor and runs the game in the editor, in addition to attaching the Visual Studio debugger.
Starting debugging and playing the Unity editor can be completed in a single step directly from Visual Studio for Mac by choosing the Attach to Unity and Play configuration.
If you started debugging using the Attach to Unity and Play configuration, the Stop button will also stop the Unity Editor.
Debug Unity player builds
You can debug development builds of Unity players with Visual Studio.
Enable script debugging in a Unity player
In Unity, open the Build Settings by selecting File > Build Settings.
In the Build Settings window, mark the Development Build and Script Debugging checkboxes.
Select a Unity instance to attach the debugger to
In Visual Studio, on the main menu, choose Debug > Attach Unity Debugger.
The Select Unity Instance dialog displays some information about each Unity instance that you can connect to.
Project The name of the Unity project that's running in this instance of Unity.
Machine The name of the computer or device that this instance of Unity is running on.
Type Editor if this instance of Unity is running as part of the Unity Editor; Player if this instance of Unity is a stand-alone player.
Port The port number of the UDP socket that this instance of Unity is communicating over.
Because Visual Studio Tools for Unity and the Unity instance are communicating over a UDP network socket, your firewall may need rule to allow it. If needed, you may see a prompt, you'll have to authorize the connection so that VSTU and Unity can communicate.
Selecting a Unity instance that doesn't appear in the list
If you have a known Unity Player running that doesn't appear in the list, you can use the Input IP button on the Select Unity Instance window. Enter the IP address and port of the running Unity Player to connect the debugger.
To make it easier for you to continue debugging that player without entering the IP and port each time, enable the Use saved debug targets setting in the Tools > Options > Tools for Unity > General menu.
Visual Studio will show saved debug targets as an option in Attach to Unity button.
- In Visual Studio for Mac, on the top menu, choose Run > Attach to Process.
- In the Attach to Process dialog, select Unity Debugger option in the Debugger drop-down menu at the bottom.
- Select a Unity instance from the list and click the Attach button.
Debug a DLL in your Unity project
Many Unity developers are writing code components as external DLLs so that the functionality they develop can be easily shared with other projects. Visual Studio Tools for Unity makes it easy to debug code in these DLLs seamlessly with other code in your Unity project.
At this time, Visual Studio Tools for Unity only supports managed DLLs. It does not support debugging of native code DLLs, such as those written in C++.
Note that the scenario described here assumes that you have the source code—that is, you are developing or re-using your own first-party code, or you have the source code to a third-party library, and plan to deploy it in your Unity project as a DLL. This scenario does not describe debugging a DLL for which you do not have the source code.
To debug a managed DLL project used in your Unity project
Add your existing DLL project to the Visual Studio solution generated by Visual Studio Tools for Unity. Less commonly, you might be starting a new managed DLL project to contain code components in your Unity project; if that's the case, you can add a new managed DLL project to the Visual Studio solution instead.
In either case, Visual Studio Tools for Unity maintains the project reference, even if it has to regenerate the project and solution files again, so you only need to perform these steps once.
Reference the correct Unity framework profile in the DLL project. In Visual Studio, in the DLL project's properties, set the Target framework property to the Unity framework version you're using. This is the Unity Base Class Library that matches the API compatibility that your project targets, such as the Unity full, micro, or web base class libraries. This prevents your DLL from calling framework methods that exist in other frameworks or compatibility levels, but which might not exist in the Unity framework version you're using.
Copy the DLL to your Unity project's Asset folder. In Unity, assets are files that are packaged and deployed together with your Unity app so that they can be loaded at run-time. Since DLLs are linked at run time, DLLs must be deployed as assets. To be deployed as an asset, the Unity Editor requires the DLLs to be put inside the Assets folder in your Unity project. There are two ways you can do this:
Modify the build settings of your DLL project to include a post-built task that copies the output DLL and PDB files from its output folder to the Assets folder of your Unity project.
Modify the build settings of your DLL project to set its output folder to be the Assets folder of your Unity project. Both DLL and PDB files will be placed in the Assets folder.
The PDB files are needed for debugging because they contain the DLL's debugging symbols, and map the DLL code to its source code form. If you are targeting the legacy runtime, Visual Studio Tools for Unity will use information from the DLL and PDB to create a DLL.MDB file, which is the debug symbol format used by the legacy Unity scripting engine. If you are targeting the new runtime, and using Portable-PDB, Visual Studio Tools for Unity will not try to do any symbol conversion as the new Unity runtime is able to natively consume Portable-PDBs.
More information about PDB generation can be found here. If you are targeting the new runtime, please make sure that "Debugging Information" is set to "Portable", in order to properly generate Portable-PDB. If you are targeting the legacy runtime, you need to use "Full".
Debug your code. You can now debug your DLL source code together with your Unity project's source code, and use all the debugging features you are used to, such as breakpoints and stepping through code.
Keyboard shortcuts
You can quickly access the Unity Tools for Visual Studio functionality by using their keyboard shortcuts. Here's a summary of the shortcuts that are available.
Command | Shortcut | Shortcut command name |
---|---|---|
Open the MonoBehavior Wizard | Ctrl+Shift+M | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Open the Unity Project Explorer | Alt+Shift+E | View.UnityProjectExplorer |
Access Unity documentation | Ctrl+Alt+M, Ctrl+H | Help.UnityAPIReference |
Attach to Unity debugger (player or editor) | no default | Debug.AttachUnityDebugger |
You can change the shortcut key combinations if you don't like the default. For information on how to change it, see Identify and customize keyboard shortcuts in Visual Studio.
Command | Shortcut | Shortcut command name |
---|---|---|
Open the MonoBehavior Wizard | Cmd+Shift+M | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Access Unity documentation | Cmd+' | Help.UnityAPIReference |
You can change the shortcut key combinations if you don't like the default. For information on how to change it, see Customizing the IDE.
Инструменты Visual Studio для Mac для Unity — это бесплатное расширение, устанавливаемое вместе с Visual Studio для Mac. Оно позволяет разработчикам Unity использовать улучшенную продуктивность Visual Studio для Mac, включая отличную поддержку IntelliSense, функции отладки и другие возможности.
- Дополнительные сведения о разработке Unity помощью Visual Studio для Mac
Предварительные требования
Целевая аудитория
Задача 1. Создание базового проекта Unity
Запустите Unity. Выполните вход при необходимости.
Задайте Имя проекта UnityLab и выберите 3D. Щелкните Создать проект.
Вы видите интерфейс Unity по умолчанию. Здесь есть иерархия сцен с игровым объектом слева, трехмерное представление пустой сцены посередине, панель файлов проекта в нижней части и инспектор и службы справа. Компонентов гораздо больше, но это некоторые наиболее важные из них.
Если вы незнакомы с Unity, вам нужно знать, что в приложении все существует в контексте сцены. Файл сцены — это один файл, содержащий все виды метаданных о ресурсах, используемых в проекте, для текущей сцены и ее свойств. При создании пакета приложения для платформы вы получаете коллекцию сцен, а также любой зависящий от платформы код, который вы добавляете. У вас может быть сколько угодно сцен.
У новой сцены есть просто камера и направленный свет. Сцене нужна камера для картинки и прослушиватель аудио для звука. Эти компоненты присоединяются к GameObject.
Выберите объект Главная камера в области Иерархия.
Выберите панель Инспектор в правой части окна, чтобы просмотреть его свойства. Свойства камеры включают информацию о преобразовании, фон, типа проекции, поле зрения и т. д. Компонент прослушивателя аудио также был добавлен по умолчанию. Фактически он передает звук сцены при помощи виртуального микрофона, подключенного к камере.
Выберите объект Направленный свет. Он освещает сцену, чтобы компоненты, такие как шейдеры, знали, как отрисовывать объекты.
Используйте инспектор, чтобы увидеть, что он включает общие свойства освещения, включая тип, цвет, насыщенность, тип тени и т. д.
Важно отметить, что проекты в Unity немного отличаются от проектов в Visual Studio для Mac. На вкладке Проекты в нижней части щелкните правой кнопкой мыши папку Assets и выберите Отобразить в средстве поиска.
Как видите, проекты содержат папки Assets, Library, ProjectSettings и Temp. Но в интерфейсе отображается только папка Assets. Папка Library используется как локальный кэш для импортированных ресурсов; она содержит все метаданные для ресурсов. В папке ProjectSettings хранятся параметры, которые можно настроить. Папка Temp используется для хранения временных файлов из Mono и Unity во время сборки. Кроме того, есть файл решения, который можно открыть в Visual Studio для Mac (здесь это UnityLab.sln).
Закройте окно средства поиска и вернитесь в Unity.
Папка Assets содержит все ресурсы — изображения, код, звуки и т. д. Сейчас она пуста, но все добавленные в проект файлы сохраняются здесь. Это всегда папка верхнего уровня в редакторе Unity. Но вы должны всегда добавлять и удалять файлы через интерфейс Unity (или Visual Studio для Mac), а не через файловую систему напрямую.
GameObject является центральным элементом разработки в Unity, так как почти все остальное является производным от этого типа, включая модели, свет, системы частиц и т. д. Добавьте новый объект Куб в сцену через меню GameObject > Трехмерный объект > Куб.
Посмотрите свойства нового GameObject и увидите, что у него есть имя, тег, слой и преобразование. Эти свойства являются общими для всех элементов GameObjects. Кроме того, некоторые компоненты были подключены к кубу для необходимых функций, например сетчатый фильтр, прямоугольный коллайдер и отрисовщик.
Переименуйте объект Куб с именем Cube по умолчанию в Enemy. Нажмите клавишу ВВОД, чтобы сохранить изменения. Это будет куб противника в нашей простой игре.
Добавьте еще один объект Куб на сцену, выполнив те же действия, и назовите его Player.
Пометьте объект игрока тегом Player (см. раскрывающийся список Тег под именем поля). Мы будем использовать его в скрипте противника, чтобы находить игровой объект игрока.
В представлении Сцена переместите объект игрока дальше от объекта противника по оси Z с помощью мыши. Для перемещения по оси Z выберите и перетащите куб за красную сторону к синей линии. Так как куб существует в трехмерном пространстве, но перетаскивать его можно только по двумерной плоскости, очень важно учитывать ось.
Переместите куб вниз и вправо по оси. При этом обновляется свойство Transform.Position в инспекторе. Поместите куб в положение, как на иллюстрации, чтобы упростить следующие этапы задания.
Чтобы присоединить скрипты к игровым объектам, перетащите только что созданный скрипт на объект Enemy в области Иерархия. Теперь этот объект будет использовать поведение из скрипта.
Выберите Файл > Сохранить сцены, чтобы сохранить текущую сцену. Назовите ее MyScene.
Задача 2. Работа с инструментами Visual Studio для Mac для Unity
Откройте вкладку Внешние инструменты. В раскрывающемся меню Внешний редактор скриптов выберите Обзор и Приложения/Visual Studio.app. Если вариант Visual Studio уже существует, просто выберите его.
Unity теперь настроен для использования Visual Studio для Mac для изменения скриптов. Закройте диалоговое окно Настройки Unity.
Дважды щелкните EnemyAI.cs, чтобы открыть его в Visual Studio для Mac.
Решение Visual Studio довольно просто использовать. Оно содержит папку Assets (как в средстве поиска) и созданный ранее скрипт EnemyAI.cs. В более сложных проектах иерархия будет выглядеть не так, как в Unity.
Файл EnemyAI.cs открыт в редакторе. Исходный скрипт просто содержит заглушки для методов Start и Update.
Замените исходный код противника приведенным ниже кодом.
Посмотрите на простое поведение противника, которое определяется здесь. В методе Start мы получаем ссылку на объект игрока (по его тегу), а также на его преобразование. В методе Update, который вызывается в каждом кадре, противник приближается к объекту игрока. Ключевые слова и имена используют цветовое кодирование, чтобы было проще понять базу кода в Visual Studio для Mac.
Сохраните изменения в скрипте противника в Visual Studio для Mac.
Задача 3. Отладка проекта Unity
Вернитесь к Unity и нажмите кнопку Запуск, чтобы начать игру.
Должна быть достигнута точка останова, и теперь можно использовать инструменты отладки Visual Studio для Mac.
В окне Локальные найдите этот указатель, который ссылается на объект EnemyAI. Разверните ссылку и убедитесь, что там есть такие связанные элементы, как скорость.
Удалите точку останова из метода Start так же, как вы его добавили: щелкните в поле в редакторе или выберите строку и нажмите клавишу F9.
Нажмите клавишу F10, чтобы перейти к первой строке кода, которая находит игровой объект Player, используя тег в качестве параметра.
Наведите курсор мыши на переменную player в окне редактора кода для просмотра связанных элементов. Можно даже развернуть наложение, чтобы просмотреть свойства дочерних элементов.
Нажмите клавишу F5 или кнопку Запуск, чтобы продолжить выполнение. Вернитесь к Unity и посмотрите, как куб противника постепенно приближается к кубу игрока. Отрегулируйте камеру, если этого не видно.
Вернитесь в Visual Studio для Mac и установите точку останова на первой строке метода Update. Она должна быть достигнута немедленно.
Предположим, скорость слишком высока и мы хотим проверить влияние изменения без перезапуска приложения. Найдите переменную Speed в окне Видимые или Локальные, измените ее значение на 10 и нажмите клавишу ВВОД.
Удалите точку останова и нажмите клавишу F5, чтобы продолжить выполнение.
Вернитесь к Unity для просмотра выполняющегося приложения. Теперь куб противника движется в пять раз медленнее.
Остановите приложение Unity, нажав кнопку воспроизведения еще раз.
Вернитесь в Visual Studio для Mac. Остановите сеанс отладки, нажав кнопку Остановить.
Задача 4. Изучение функций Unity в Visual Studio для Mac
Visual Studio для Mac предоставляет быстрый доступ к документации Unity в редакторе кода. Поместите курсор, например на символе Vector3 в методе Update, и нажмите ⌘ Command + ' .
Откроется новое окно браузера с документацией по Vector3. Закройте окно браузера, когда закончите.
Visual Studio для Mac также предоставляет вспомогательные средства для быстрого создания классов поведений Unity. В обозревателе решений щелкните правой копкой мыши Ресурсы и выберите Добавить > Новый MonoBehaviour.
Только что созданный класс предоставляет заглушки для методов Start и Update. После закрывающей скобки в методе Update начните вводить onmouseup. Обратите внимание, что при вводе IntelliSense в Visual Studio быстро определит метод, который вы планируете реализовать. Выберите его из списка автозаполнения. Он заполнит заглушку метода, включая все параметры.
Внутри метода OnMouseUp введите base, чтобы просмотреть все доступные для вызова базовые методы. Вы также можете изучить различные перегрузки каждой функции, используя параметр разбиения на страницы в правом верхнем углу всплывающего элемента IntelliSense.
Visual Studio для Mac также позволяет легко определять новые шейдеры. В обозревателе решений щелкните правой копкой мыши Ресурсы и выберите Добавить > Новый шейдер.
Формат файла шейдера содержит полную обработку цвета и шрифта, чтобы его было проще читать и понимать.
Вернитесь к Unity. Вы увидите, что, поскольку Visual Studio для Mac работает с той же системой проекта, изменения, внесенные в одном месте, автоматически синхронизируются с другим. Теперь можно с легкостью использовать лучший инструмент для этой задачи.
Читайте также: