Устранение неполадок и известные проблемы (набор средств Visual Studio для Unity)
В этом разделе рассмотрены решения по устранению проблем, типичных для набора средств Visual Studio для Unity, приведено описание известных проблем и показано, как улучшить функционирование набора средств Visual Studio для Unity с помощью отчетов об ошибках.
Устранение неполадок соединения между Unity и Visual Studio
Подтверждение Editor Attaching включено или Code Optimization On Startup установлено значение Debug
В меню Unity выберите Edit / Preferences .
В зависимости от используемой версии Unity:
- Подтвердите, что Code Optimization On Startup задано как Debug .
- Или выберите вкладку External Tools . Убедитесь, что Editor Attaching включено поле проверка box.
Не удается подключить
- Попробуйте временно отключить антивирусную программу или создать правила исключения для VS и Unity.
- Попробуйте временно отключить брандмауэр или создать правила, разрешающие сетевое взаимодействие между VS и Unity по протоколам TCP/UDP.
- Некоторые программы, например Team Viewer могут препятствовать обнаружению процессов. Попробуйте временно остановить все лишнее программное обеспечение, чтобы выяснить, повлияет ли это на что-либо.
- Не переименовывайте основной исполняемый файл Unity, так как VSTU отслеживают только процессы «Unity.exe».
Сбои Visual Studio
Эта проблема может быть вызвана повреждением кэша MEF в Visual Studio.
Попробуйте удалить следующую папку, чтобы сбросить кэш MEF (перед этим закройте Visual Studio):
%localappdata%\Microsoft\VisualStudio\\ComponentModelCache
Это должно исправить проблему. Если проблема не устранена, запустите командную строку разработчика для Visual Studio от имени администратора и выполните следующую команду:
devenv /setup
Visual Studio не отвечает
Некоторые подключаемые модули Unity, такие как Parse, FMOD, UMP (Universal Media Player), ZFBrowser или Embedded Browser, используют собственные потоки. Эта проблема возникает, когда подключаемый модуль подключает собственный поток к среде выполнения, что блокирует вызовы ОС. Это означает, что Unity не может прервать этот поток для отладчика (или перезагрузки домена) и перестает отвечать на запросы.
Для FMOD существует обходной путь. Вы можете передать флаг инициализации FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE , чтобы отключить асинхронную обработку и выполнять всю обработку в основном потоке.
Если вы разрабатываете собственный подключаемый модуль, рекомендуется использовать асинхронные вызовы процедур (APC) и SleepEx особенно , SignalObjectAndWait , MsgWaitForMultipleObjectsEx WaitForMultipleObjectsEx или WaitForSingleObjectEx функции для правильного сотрудничества с Unity и Mono, когда отладчику необходимо приостановить потоки.
Несовместимый проект в Visual Studio
Важно знать, что Visual Studio сохраняет состояние «Несовместимый» в параметрах проекта и не пытается перезагрузить проект, пока не будет явно использоваться Reload Project . Таким образом, после каждого шага устранения неполадок убедитесь, что вы попытаетесь повторно открыть решение и попытаться щелкнуть правой кнопкой мыши все несовместимые проекты и выбрать Reload Project .
- Убедитесь, что Visual Studio установлен в качестве внешнего редактора скриптов в Unity с помощью Edit / Preferences / External Tools .
- В зависимости от версии Unity:
- Убедитесь, что подключаемый модуль Visual Studio установлен в Unity. Help / About должно отображаться сообщение, например Microsoft Инструменты Visual Studio для Unity, в нижней части экрана.
- Unity 2020.x+: убедитесь, что вы используете последний пакет редактора Visual Studio в Window / Package Manager .
- Попробуйте удалить все файлы проектов и решений и папку .vs в проекте.
- Попробуйте воссоздать проекты или решение с помощью Open C# Project или Edit / Preferences / External tools / Regenerate Project files .
- Убедитесь, что вы установили рабочую нагрузку Game/Unity в Visual Studio.
- Попробуйте очистить кэш MEF, как описано здесь.
- Попробуйте повторно установить Visual Studio (с помощью рабочей нагрузки Game/Unity только для запуска).
- Попробуйте отключить сторонние расширения в случае, если они могут повлиять на расширение Unity. Tools / Extensions
Дополнительные перезагрузки или закрытие всех открытых окон в Visual Studio
Никогда не работайте с файлами проектов непосредственно из обработчика ресурсов или иного средства. Если вам действительно необходимо совершить операции с файлом проекта, мы предоставляем для этого интерфейс API. См. раздел Проблемы со ссылками на сборку.
Если происходят лишние перезагрузки или если при перезагрузке в Visual Studio закрываются все открытые окна, убедитесь в том, что установлены все необходимые целевые пакеты .NET. Дополнительные сведения см. ниже в разделе, посвященном платформам.
В случае исключений не происходит останов отладчика
При использовании предыдущей версии среды выполнения Unity (эквивалентной версии .NET 3.5), в случае необработанного исключения (вне блока try/catch) всегда происходит останов отладчика. Если исключение обрабатывается, отладчик использует окно параметров исключений для определения того, требуется ли останов.
В новой среде выполнения Unity (эквивалентной версии .NET 4.6) появился новый способ управления пользовательскими исключениями. В результате все исключения считаются «обработанными пользователем», даже если они произошли вне блока try/catch. Поэтому их необходимо явным образом задавать в окне параметров исключений, если требуется останов отладчика.
В окне Параметры исключений (отладка > исключений Windows > Параметры), разверните узел для категории исключений (например, исключения среды CLR, то есть исключения .NET) и выберите поле проверка для конкретного исключения, которое требуется поймать в этой категории (например, System.NullReferenceException). Можно также выбрать всю категорию исключений.
В ОС Windows система Visual Studio предлагает скачать целевую платформу Unity
При использовании устаревшей среды выполнения Unity (эквивалент .NET 3.5) Инструменты Visual Studio для Unity требуется платформа .NET Framework 3.5, которая по умолчанию не установлена в Windows 8 или 10. Чтобы устранить эту проблему, следуйте инструкциям по скачиванию и установке .NET Framework 3.5.
При использовании новой среды выполнения Unity пакеты для .NET, предназначенные для пакетов версии 4.6 или 4.7.1, также требуются в зависимости от версии Unity. Установщик Visual Studio можно использовать для быстрой установки (изменить установку, отдельные компоненты, категорию .NET, выбрать все пакеты назначения 4.x).
Проблемы со ссылкой на сборку или свойством проекта
Если ваш проект довольно сложен с точки зрения ссылок или требуется лучше контролировать этот этап создания, вы можете использовать наш API для работы с созданным содержимым проекта или решения. Вы также можете использовать файлы ответов в своем проекте Unity и обрабатывать их.
В последних версиях Visual Studio и Unity лучший подход, как представляется, использует пользовательский Directory.Build.props файл вместе с созданными проектами. Затем вы сможете внести свой вклад в структуру проекта, не вмешиваясь в процесс создания.
Точки останова с предупреждением
Если Visual Studio не удается найти исходное расположение для определенной точки останова, рядом с ней отображается предупреждение. Убедитесь, что используемый вами скрипт правильно загружен и используется в текущей сцене Unity.
Точки останова не срабатывают
Убедитесь, что используемый вами скрипт правильно загружен и используется в текущей сцене Unity. Закройте Visual Studio и Unity, а затем удалите все созданные файлы (*.csproj, *.sln), .vs папку и всю папку библиотеки. Дополнительные сведения об отладке C# можно найти на веб-сайте Unity.
Не удается выполнить отладку проигрывателей Android
Мы используем для обнаружения проигрывателей многоадресную рассылку (это стандартный механизм, применяемый в Unity), но затем применяется простое соединение TCP для подключения отладчика. Этап обнаружения — основная проблема для устройств Android.
Связь через Wi-Fi универсальна, однако она слишком медленная по сравнению с USB из-за задержки. Мы наблюдали отсутствие должной поддержки многоадресной рассылки у некоторых маршрутизаторов или устройств (этим известна серия Nexus).
Связь по USB обладает отличной скоростью для отладки. Инструменты Visual Studio для Unity теперь могут обнаруживать устройства USB и согласовывать с сервером ADB правильную переадресацию портов для отладки.
Проблемы с цветом intelliSense или кодом
Попробуйте обновить Visual Studio до последней версии. Выполните те же действия по устранению неполадок, что и для несовместимых проектов.
Известные проблемы
Применительно к набору средств Visual Studio для Unity существуют известные проблемы, которые возникают вследствие взаимодействия отладчика со старой версией компилятора C# в Unity. Мы работаем над устранением этих проблем, но в то же время могут возникать другие проблемы.
- При отладке Unity иногда аварийно завершает работу.
- При отладке Unity иногда зависает.
- Пошаговая отладка с заходом и выходом из методов иногда ведет себя некорректно, особенно в итераторах или внутри инструкций switch.
Отчеты об ошибках
Помогите нам улучшить качество набора средств Visual Studio для Unity: отправляйте нам отчеты об ошибках при аварийном выходе, зависании или в случае других ошибок. Эти сведения помогают нам определять причину и устранять проблемы в наборе средств Visual Studio для Unity. Спасибо!
Как сообщить об ошибке в случае зависания Visual Studio
Существуют отчеты о том, что иногда Visual Studio зависает при отладке с помощью набора средств Visual Studio для Unity, но чтобы разобраться в проблеме, нам требуется больше данных. Вы можете помочь нам разобраться с проблемой, если выполните следующие действия.
Создание отчета о зависании Visual Studio во время отладки с помощью набора средств Visual Studio для Unity
- Откройте новый экземпляр Visual Studio.
- Откройте диалоговое окно «Присоединение к процессу». В новом экземпляре Visual Studio в главном меню выберите Отладка, Присоединение к процессу.
- Присоедините отладчик к замороженному экземпляру Visual Studio. В диалоговом окне Присоединение к процессу выберите замороженный экземпляр Visual Studio в таблице Доступные процессы , а затем нажмите кнопку Присоединить .
- Приостановите отладчик. В новом экземпляре Visual Studio в главном меню выберите Отладка, Прервать все или просто нажмите CTRL+ALT+BREAK.
- Создайте дамп потока. В окне командной строки введите следующую команду и нажмите клавишу ВВОД:
Debug.ListCallStack /AllThreads /ShowExternalCode
-
Откройте терминал и получите идентификатор процесса Visual Studio для Mac:
ps aux | grep "[V]isual Studio.app"
lldb
process attach --pid THE_PID_OF_THE_VSFM_PROCESS
bt all
Наконец, отправьте дамп потока по адресу vstusp@microsoft.com, а также опишите, что вы делали, когда среда Visual Studio зависла.
См. также
Как подключить Visual Studio к Unity?
К самой Unity Visual Studio подключена но когда в Unity создаю новый скрипт и запускаеться Visual Studio там нету почти ни чего что означало подключение тоесть команды связанные с юнити он не узнает, и системы исправления нету и так далее
- Вопрос задан более трёх лет назад
- 18437 просмотров
2 комментария
Простой 2 комментария
GavriKos @GavriKos Куратор тега Unity
А вы точно открываете солюшен сгенерированный?
Kifoter @Kifoter Автор вопроса
Решения вопроса 0
Ответы на вопрос 1

Вы точно что то забыли.
Вот статья о том как настроить совместную работы Unity 3D и Visual Studio — https://docs.microsoft.com/ru-ru/visualstudio/cros.
Справа вверху есть переключаться на Русский язык.
Ответ написан более трёх лет назад
Нравится 3 2 комментария
Kifoter @Kifoter Автор вопроса
сделал все выше приведенные действия, создал скрипт, вписал код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
public Transform SelfTransform;
void Update()
SelfTransform.Translate(0.1f, 0, 0);
>
>
присойденил к персонажу и вылазит эта ошибка:
UnassignedReferenceException: The variable SelfTransform of NewBehaviourScript has not been assigned.
You probably need to assign the SelfTransform variable of the NewBehaviourScript script in the inspector.
UnityEngine.Transform.get_position () in :0
UnityEngine.Transform.Translate (UnityEngine.Vector3 translation, UnityEngine.Space relativeTo) (at C:/buildslave/unity/build/Runtime/Transform/ScriptBindings/Transform.bindings.cs:118)
UnityEngine.Transform.Translate (System.Single x, System.Single y, System.Single z) (at C:/buildslave/unity/build/Runtime/Transform/ScriptBindings/Transform.bindings.cs:134)
NewBehaviourScript.Update () (at Assets/NewBehaviourScript.cs:10)
Что сделать чтобы работало?

Kifoter, извини, долго не заходил.
Я сам этого не люблю, но нужно читать тексты ошибок.
В данном случае текс ошибки сообщать что нужно сделать что устранить ее — «The variable SelfTransform of NewBehaviourScript has not been assigned. You probably need to assign the SelfTransform variable of the NewBehaviourScript script in the inspector.».
Рус перевод — «Переменная SelfTransform для NewBehaviourScript не была назначена. Возможно, вам нужно назначить переменную SelfTransform сценария NewBehaviourScript в инспекторе.».
Создание игр Unity с помощью Visual Studio

Ядро Unity объединяется в одну непревзойденную платформу, позволяющую создавать двухмерные и трехмерные игры и интерактивное содержимое. Создайте одну игру и опубликуйте ее на 21 платформе, включая все мобильные платформы, WebGL, настольные системы (Mac, ПК и Linux), Интернет или приставки.
Пишите сценарии Unity на C#
IntelliSense и навигация по коду для C#
Visual Studio предоставляет программистам на C# множество эффективных функций. Используйте IntelliSense для быстрого и точного написания кода. С легкостью перемещайтесь по сценариям и применяйте мощные средства рефакторинга.


Отладка в Visual Studio
Отладка мирового уровня для игр Unity в Visual Studio.
Visual Studio обеспечивает первоклассную отладку игрового ядра Unity. Быстро выявляйте проблемы, отлаживая игры Unity в Visual Studio — задавайте точки останова и оценивайте переменные и сложные выражения.
Повышение производительности
Полнофункциональная среда IDE для Unity
Настройте среду программирования в точности под себя — выберите любимую тему, цвет, шрифты и все прочие параметры. Быстро создавайте методы сценариев Unity в Visual Studio, используя мастера «Implement MonoBehaviours» и «Quick MonoBehaviours». Unity Project Explorer позволяет перемещаться по проекту так же, как в Unity.
Кроссплатформенная разработка для мобильных устройств в Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Используя Visual Studio, можно создавать приложения для устройств Android, iOS и Windows. При разработке приложения вы можете использовать инструменты Visual Studio для добавления подключенных служб, таких как Microsoft 365, Служба приложений Azure и Application Insights.
Поддерживается создание приложений с помощью C# и .NET Framework, HTML и JavaScript или C++. Существует возможность совместного использования кода, строк, изображений, а в некоторых случаях даже пользовательского интерфейса.
Для создания игр или мощных графических приложений установите инструменты Visual Studio для Unity. Это позволит максимально эффективно использовать функции Visual Studio и Unity — популярного движка и среды разработки для игр и мощных графических приложений в Windows, iOS, Android и на других платформах.
Сборка приложений для устройств Android, iOS и Windows (.NET Framework)

С помощью инструментов Visual Studio для Xamarin вы можете указать Android, iOS и Windows в качестве целевых устройств в одном и том же решении, при этом код и даже пользовательский интерфейс будут использоваться совместно.
| Подробнее |
|---|
| Установка Visual Studio (VisualStudio.com) |
| Сведения о Xamarin в Visual Studio (VisualStudio.com) |
| Документация для разработки мобильных приложений Xamarin |
| DevOps с приложениями Xamarin |
| См. дополнительные сведения об универсальных приложениях Windows в Visual Studio (VisualStudio.com) |
| Сведения о сходстве между Swift и C# (download.microsoft.com) |
Целевые устройства Android, iOS и Windows из единой базы кода
Вы можете создавать собственные приложения для Android, iOS и Windows с помощью C# и F# (Visual Basic сейчас не поддерживается). Для начала работы установите Visual Studio, выберите в установщике параметр Разработка мобильных приложений на .NET.
Если у вас уже установлена Visual Studio, повторно запустите Visual Studio Installer и выберите тот же параметр Разработка мобильных приложений на .NET для Xamarin (как показано ранее).
После окончания установки шаблоны проектов появятся в диалоговом окне Новый проект. Чтобы найти шаблоны Xamarin, проще всего ввести «Xamarin» в строке поиска.
Xamarin предоставляет собственные функции Android, iOS и Windows в виде классов и методов .NET. Ваши приложения будут иметь полный доступ к собственным API-интерфейсам и собственным элементам управления и будут вести себя так же, как приложения, написанные на собственных языках платформ.
После создания проекта вы сможете использовать все функции повышения продуктивности в составе Visual Studio. Например, вы сможете создавать страницы с помощью конструктора и изучить собственные API-интерфейсы мобильных платформ с помощью IntelliSense. Для запуска готового приложения и оценки его интерфейса можно использовать эмулятор пакета SDK для Android и запускать приложения в собственной среде Windows. Вы также можете использовать связанные устройства Android и Windows напрямую. Для проектов iOS необходимо подключиться к компьютеру Mac, подключенному к сети, и запустить эмулятор iOS из Visual Studio или подключиться к связанному устройству.
Создание одного набора страниц, отображаемого на всех устройствах, с помощью Xamarin.Forms
В зависимости от сложности конструкции приложения, возможно, имеет смысл использовать для его создания шаблоны Xamarin.Forms в группе шаблонов проектов Мобильные приложения . Xamarin.Forms — это набор средств разработки пользовательского интерфейса, с помощью которого можно создать единый интерфейс приложения для совместного использования на устройствах Android, iOS и Windows. При компиляции решения Xamarin.Forms вы получаете приложение для Android, приложение для iOS и приложение для Windows. Дополнительные сведения см. в разделе Дополнительные сведения о разработке мобильных приложений с помощью Xamarin и в документации по Xamarin.Forms.
Совместное использование кода приложениями Android, iOS и Windows
Если вы не используете Xamarin.Forms и предпочитаете разрабатывать приложения для каждой платформы отдельно, вы можете совместно использовать большую часть кода, не относящегося к пользовательскому интерфейсу, в проектах для разных платформ (Android, iOS и Windows). К нему относятся любая бизнес-логика, интеграция в облаке, доступ к базе данных или любой другой код, предназначенный для платформы .NET Framework. Единственным кодом, который нельзя совместно использовать, является код, предназначенный для конкретной платформы.

Код можно совместно использовать с помощью общего проекта, проекта переносимой библиотеки классов или обоих этих проектов. Может оказаться, что какой-то код больше подходит в общем проекте, а другой код лучше себя ведет в рамках проекта переносимой библиотеки классов.
| Подробнее |
|---|
| Варианты совместного использования кода (Xamarin) |
| Варианты общего доступа к коду в .NET |
Целевые устройства Windows 10

Если вы хотите создать одно приложение, предназначенное для полного спектра устройств Windows 10, создайте универсальное приложение Windows. Разработка приложения будет осуществляться с помощью одного проекта, а страницы будут отображаться должным образом независимо от того, какое устройство используется для их просмотра.
Начните с шаблона проекта приложения на универсальной платформе Windows (UWP). Вы можете визуально разрабатывать страницы, а затем открывать их в окне предварительного просмотра, чтобы увидеть, как они будут отображаться для различных типов устройств. Если вас не устраивает, как страница отображается на устройстве, вы можете оптимизировать ее в соответствии с размером экрана, разрешением или ориентацией (горизонтальной или вертикальной). Все это можно сделать с помощью удобных инструментальных окон и пунктов меню в Visual Studio. Когда вы будете готовы к запуску приложения и пошаговому выполнению кода, вы сможете найти все эмуляторы и имитаторы для различных типов устройств в одном раскрывающемся списке на стандартной панели инструментов.
| Подробнее |
|---|
| Общие сведения об универсальной платформе Windows |
| Создание своего первого приложения |
| Разработка приложений для универсальной платформы Windows (UWP) |
Создание приложения для Android, iOS и Windows (C++)

Сначала установите Visual Studio и рабочую нагрузку Разработка мобильных приложений на C++. Затем вы сможете создать приложение Native Activity для Android, Windows или iOS. Одно и то же решение можно ориентировать на устройства Android, iOS и Windows, а затем наладить совместное использование кода между ними с помощью общей кроссплатформенной статической или динамической библиотеки.
Если вам нужно создать приложение для Android, требующее сложных операций с графикой (например, игру), можно воспользоваться C++. Начните с проекта Native Activity (Android). В этом проекте реализована полная поддержка цепочки инструментов Clang.

Для запуска готового приложения и оценки его интерфейса воспользуйтесь Android Emulator. Это быстрый, надежный и простой в установке и настройке инструмент.
Вы можете создавать приложения, ориентированные на весь спектр устройств под управлением Windows 10, с помощью C++ и шаблона проекта приложения универсальной платформы Windows (UWP). Дополнительные сведения см. в разделе Целевые устройства Windows 10 ранее в этой статье.
С помощью статической или динамической общей библиотеки вы сможете совместно использовать код С++ между устройствами Android, iOS и Windows.

Эту библиотеку можно использовать в проекте Windows, iOS или Android, как описано ранее в этой статье. Также ее можно использовать в приложении, созданном с помощью Xamarin, Java или любого другого языка, который позволяет вызывать функции в неуправляемой библиотеке DLL.
При написании кода в этих библиотеках можно использовать IntelliSense для просмотра собственных API платформ Android и Windows. Эти проекты библиотек полностью интегрированы с отладчиком Visual Studio, чтобы можно было задать точки останова. Пошаговые инструкции по коду, поиску и устранению проблем с помощью всех расширенных функций отладчика.
| Подробнее |
|---|
| Загрузка Visual Studio (VisualStudio.com) |
| Установка Visual C++ для разработки кроссплатформенных мобильных приложений на языке C++ |
| Дополнительные сведения об использовании C++ для настройки для нескольких платформ (VisualStudio.com) |
| Установка нужных компонентов и создание нативного приложения С++ для Android |
| Дополнительные сведения о совместном использовании кода C++ с приложениями Android и Windows (VisualStudio.com) |
| Примеры разработки кроссплатформенных мобильных приложений для C++ |
Создание кросс-платформенной игры для устройств Android, iOS и Windows с использованием инструментов Visual Studio для Unity
Инструменты Visual Studio для Unity представляют собой бесплатное расширение Visual Studio, которое интегрирует мощные функции редактирования кода, повышения продуктивности и средства отладки в составе Visual Studio с Unity, популярной кроссплатформенной системой и средой разработки для игр и мощных графических приложений на платформах Windows, iOS, Android и других платформах, включая веб-приложения.

Средства Visual Studio для Unity (VSTU) позволяют использовать Visual Studio для создания сценариев игр и редакторов на языке C#, а затем использовать его мощный отладчик для поиска и исправления ошибок. В последнем выпуске VSTU реализована поддержка Unity 2019.4, включена цветовая маркировка синтаксиса для языка шейдера ShaderLab системы Unity, усовершенствована синхронизация с Unity, добавлены дополнительные функции отладки и улучшены механизмы создания кода благодаря использованию мастера MonoBehavior. VSTU также объединяет файлы проекта Unity, сообщения консоли и возможность запускать игру в Visual Studio, чтобы тратить меньше времени на переключение в редактор Unity Editor и из него при написании кода.
| Подробнее |
|---|
| Дополнительные сведения о построении игр Unity с помощью Visual Studio |
| Подробнее об инструментах Visual Studio для Unity |
| Начало работы с инструментами Visual Studio для Unity |
| Читать о последних возможностях Visual Studio Tools для предварительной версии Unity 2.0 (блог Visual Studio) |
| Смотреть видео с введением в Visual Studio Tools для предварительной версии Unity 2.0 (видео) |
| Сведения о Unity (веб-сайт Unity) |
См. также
- Добро пожаловать в программу разработчиков Microsoft 365
- Службы приложений Azure — мобильные приложения
- Центр приложений Visual Studio
