- Решение проблем в редакторе
- Версии
- Активация
- Не удаётся запустить
- Шрифты
- Испорченный проект или установка Unity
- Производительность и падения
- Утрата проекта
- Переустановка
- Устранение неполадок и известные проблемы (набор средств Visual Studio для Unity)
- Устранение неполадок соединения между Unity и Visual Studio
- Параметр Confirm Editor Attaching включен или Code Optimization On Startup установлен в значение Debug
- Не удается подключить
- Сбои Visual Studio
- Visual Studio не отвечает
- Несовместимый проект в Visual Studio
- Дополнительные перезагрузки или закрытие всех открытых окон в Visual Studio
- В случае исключений не происходит останов отладчика
- В ОС Windows система Visual Studio предлагает скачать целевую платформу Unity
- Проблемы со ссылкой на сборку или свойством проекта
- Точки останова с предупреждением
- Точки останова не срабатывают
- Не удается выполнить отладку проигрывателей Android
- Проблемы с IntelliSense или разметка кода
- Известные проблемы
- Отчеты об ошибках
- Как сообщить об ошибке в случае зависания Visual Studio
Решение проблем в редакторе
В следующих разделах рассказано о том, как решать и предотвращать проблемы в редакторе Unity в различных ситуациях. В общем случае, убедитесь, что ваш компьютер соответствует всем системным требованиям, что он не устаревший и в системе у вас имеются все необходимые пользовательские разрешения. Также не забывайте регулярно делать резервные копии ваших проектов, ради их же безопасности.
Версии
Вы можете установить разные версии редактора в разные каталоги. Тем не менее, убедитесь что вы делаете резервные копии проектов, т.к. они могут обновиться до более новых версий, и вы не сможете открыть их в более старых версиях Unity. Для дальнейшей информации см. установка нескольких версий.
Лицензии дополнений подходят только для версий Unity c такой же основной версией, например 3.х и 4.х. Если вы обновите Unity внутри основной версии, например с 4.0 до 4.1, то дополнения останутся.
Активация
Интернет активация — предпочитаемый метод генерирования вашей лицензии Unity. Но если у вас возникают проблемы, следуйте следующим шагам:
- Отключите ваш компьютер от сети, иначе у вы можете получить ошибку “tx_id_invalid”.
- Выберите пункт Manual Activation.
- Нажмите на Save License Request.
- Выберите доступную папку для сохранения, например папку Downloads.
- Заново подключитесь к сети и откройте https://license.unity3d.com/
- В поле файла нажмите Browse и выберите сохранённый licence request file.
- Выберите необходимый тип лицензии для Unity и заполните запрашиваемую информацию.
- Нажмите Download License и сохраните файл.
- Вернитесь в Unity и выберите Manual Activation если придётся.
- Кликните на Read License и выберите загруженный файл лицензии.
Если у вас всё ещё есть проблемы с регистрацией или входом в ваш аккаунт пользователя, пожалуйста, свяжитесь с нами по адресу support@unity3d.com.
Не удаётся запустить
Если при запуске Unity сразу же падает, то в первую очередь убедитесь, что ваш компьютер соответствует минимальным системным требованиям. И не забудьте обновить аудио драйвера и драйвера видеокарты.
Если вы получаете ошибки, связанные с записью на локальный диск, то проверьте разрешения вашей учётной записи. При использовании MacOS, учтите, что “root user” не рекомендуется и Unity ещё не прошёл тестирование в этом режиме. Unity всегда должен обладать разрешениями на запись файлов в своих папках, но если вы устанавливаете разрешения вручную, то проверьте эти папки:
- Папку с установленным Unity
- %AllUsersProfile%\Unity (обычно C:\ProgramData\Unity)
- C:\Documents and Settings\ \Local Settings\Application Data\Unity
- C:\Users\ \AppData\Local\Unity
- Содержимое пакета Unity.app
- /Library/Application Support/Unity
Некоторые пользователи испытывали затруднения, когда использовали жёсткие диски, форматированные с не нативными разделами и использовали определённые программы для переноса данных между устройствами хранения.
Шрифты
Повреждённые шрифты могут вызвать падение Unity. Вы можете найти повреждённые файлы при помощи следующих шагов:
- Откройте каталог с шрифтами на вашем компьютере, расположенный в папке “Windows”.
- Выберите “Details” (Таблица) в меню “View” (Вид).
- Проверьте пункт “Size (Размер)” на наличие шрифтов с размером “0”, указывающий на проблемный файл.
- Удалите повреждённые файлы и переустановите их.
Запустите приложение Font Book.
Выберите все шрифты.
Откройте меню “File” (Файл) и выберите “Valiadte Fonts” (Проверить шрифты). Проблемные шрифты будут помечены как нерабочие.
Удалите повреждённые файлы и переустановите их.
Ресурсы системы могут быть ограничены, например, при работе в виртуальной машине. Используйте Диспетчер задач, чтобы найти процессы потребляющие много памяти.
Испорченный проект или установка Unity
Unity может попытаться открыть повреждённый проект, это также касается и стандартного тестового проекта. В таком случае переименуйте или переместите папку проекта. После того, как Unity нормально запустится, вы можете вернуть папку проекта в исходное состояние, если захотите.
В случае повреждения копии Unity, вам может понадобится переустановить Unity — смотрите инструкции ниже.
В Windows могут возникнуть проблемы, вроде ошибок при установке, повреждения регистра, конфликты и т.д. Например, ошибка 0xC0000005 означает, что программа попыталась получить доступ к той памяти, к которой не должна. Если вы недавно устанавливали новое оборудование или драйвера, то попробуйте извлечь и заменить оборудование, чтобы узнать, не из-за него ли появляется проблема. Используйте программы для диагностики и проверьте информацию в центре помощи операционной системы.
Производительность и падения
Если редактор работает медленно или падает, в частности на стадии сборки, это может происходить из-за того, что все доступные системные ресурсы уже используются. Закройте все другие приложения при сборке проекта. Почистите систему используя специализированные утилиты и сверьтесь с диспетчером задач (Windows) или Activity Monitor (MacOS), чтобы проверить, нет ли в системе процессов, использующих очень много ресурсов, например, памяти. Иногда антивирусы могут замедлять или даже блокировать файловую систему в процессе сканирования.
Утрата проекта
Есть много различных факторов, способных уничтожить проект. Вам следует постоянно делать резервные копии ваших проектов для предотвращения несчастных случаев. В MacOS, активируйте TimeMachine используя внешний жёсткий диск, используемый только для этой цели. После утери вы можете попробовать использовать какую-нибудь утилиту для восстановления файлов, но иногда файлы оказываются невосстановимыми.
Переустановка
Следуйте этим шагам для переустановки редактора:
Удалите Unity. Если вы используете MacOS, перетащите приложение Unity в корзину.
Удалите следующие файлы, если они есть:
%AllUsersProfile%\Unity\ (обычно C:\ProgramData\Unity)
Источник
Устранение неполадок и известные проблемы (набор средств Visual Studio для Unity)
В этом разделе рассмотрены решения по устранению проблем, типичных для набора средств Visual Studio для Unity, приведено описание известных проблем и показано, как улучшить функционирование набора средств Visual Studio для Unity с помощью отчетов об ошибках.
Устранение неполадок соединения между Unity и Visual Studio
Параметр Confirm Editor Attaching включен или Code Optimization On Startup установлен в значение Debug
В меню Unity выберите Edit / Preferences .
В зависимости от используемой версии Unity:
- Убедитесь, что Code Optimization On Startup для параметра задано значение Debug .
- Или выберите External Tools вкладку. Убедитесь, что Editor Attaching флажок включен.
Не удается подключить
- Попробуйте временно отключить антивирусную программу или создать правила исключения для VS и Unity.
- Попробуйте временно отключить брандмауэр или создать правила, разрешающие сетевое взаимодействие между VS и Unity по протоколам TCP/UDP.
- Некоторые программы, например Team Viewer могут препятствовать обнаружению процессов. Попробуйте временно остановить все лишнее программное обеспечение, чтобы выяснить, повлияет ли это на что-либо.
- Не переименовывайте основной исполняемый файл Unity, так как VSTU отслеживают только процессы «Unity.exe».
Сбои Visual Studio
Эта проблема может быть вызвана повреждением кэша MEF в Visual Studio.
Попробуйте удалить следующую папку, чтобы сбросить кэш MEF (перед этим закройте Visual Studio):
Это должно исправить проблему. Если проблема не устранена, запустите командную строку разработчика для Visual Studio от имени администратора и выполните следующую команду:
Visual Studio не отвечает
Некоторые подключаемые модули Unity, такие как Parse, FMOD, UMP (Universal Media Player), ZFBrowser или Embedded Browser, используют собственные потоки. Эта проблема возникает, когда подключаемый модуль подключает собственный поток к среде выполнения, что блокирует вызовы ОС. Это означает, что Unity не может прервать этот поток для отладчика (или перезагрузки домена) и перестает отвечать на запросы.
Для FMOD существует обходной путь. Вы можете передать флаг инициализации FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE , чтобы отключить асинхронную обработку и выполнять всю обработку в основном потоке.
Несовместимый проект в 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 (используя рабочую нагрузку «игра» или «Unity» только для запуска).
- Попробуйте отключить сторонние расширения, если они могут помешать работе расширения Unity в Tools / Extensions .
Дополнительные перезагрузки или закрытие всех открытых окон в Visual Studio
Никогда не работайте с файлами проектов непосредственно из обработчика ресурсов или иного средства. Если вам действительно необходимо совершить операции с файлом проекта, мы предоставляем для этого интерфейс API. См. раздел Проблемы со ссылками на сборку.
Если происходят лишние перезагрузки или если при перезагрузке в Visual Studio закрываются все открытые окна, убедитесь в том, что установлены все необходимые целевые пакеты .NET. Дополнительные сведения см. ниже в разделе, посвященном платформам.
В случае исключений не происходит останов отладчика
При использовании предыдущей версии среды выполнения Unity (эквивалентной версии .NET 3.5), в случае необработанного исключения (вне блока try/catch) всегда происходит останов отладчика. Если исключение обрабатывается, отладчик использует окно параметров исключений для определения того, требуется ли останов.
В новой среде выполнения Unity (эквивалентной версии .NET 4.6) появился новый способ управления пользовательскими исключениями. В результате все исключения считаются «обработанными пользователем», даже если они произошли вне блока try/catch. Поэтому их необходимо явным образом задавать в окне параметров исключений, если требуется останов отладчика.
В окне «Параметры исключений» («Отладка» > «Окна» > «Параметры исключений») разверните узел для категории исключений (например, «Исключения среды 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 в зависимости от версии Unity также требуются пакеты целевой платформы .NET версии 4,6 или 4.7.1. можно использовать установщик 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.
Создайте дамп потока. В окне командной строки введите следующую команду и нажмите клавишу ВВОД:
Возможно, сначала будет нужно отобразить окно Команда . В Visual Studio в главном меню выберите Представление, Другие окна, Командное окно.
Откройте терминал и получите идентификатор процесса Visual Studio для Mac:
Запустите отладчик lldb.
Подключитесь к экземпляру Visual Studio для Mac, используя идентификатор процесса:
Извлеките трассировку стека для всех потоков:
Источник