В этом разделе рассмотрены решения по устранению проблем, типичных для набора средств 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 флажок включен.
Не удается подключить
- Попробуйте временно отключить антивирусную программу или создать правила исключения для VS и Unity.
- Попробуйте временно отключить брандмауэр или создать правила, разрешающие сетевое взаимодействие между VS и Unity по протоколам TCP/UDP.
- Некоторые программы, например Team Viewer могут препятствовать обнаружению процессов. Попробуйте временно остановить все лишнее программное обеспечение, чтобы выяснить, повлияет ли это на что-либо.
- Не переименовывайте основной исполняемый файл Unity, так как VSTU отслеживают только процессы «Unity.exe».
Сбои Visual Studio
Эта проблема может быть вызвана повреждением кэша MEF в Visual Studio.
Как исправить ошибку «Прекращена работа программы»
Попробуйте удалить следующую папку, чтобы сбросить кэш MEF (перед этим закройте Visual Studio):
%localappdata%MicrosoftVisualStudio\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 и всю папку Library. Дополнительные сведения об отладке C# можно найти на веб-сайте Unity.
Не удается выполнить отладку проигрывателей Android
Решение проблем в редакторе
В следующих разделах рассказано о том, как решать и предотвращать проблемы в редакторе 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 и выберите загруженный файл лицензии.
Не удаётся запустить
Если при запуске Unity сразу же падает, то в первую очередь убедитесь, что ваш компьютер соответствует минимальным системным требованиям. И не забудьте обновить аудио драйвера и драйвера видеокарты.
Если вы получаете ошибки, связанные с записью на локальный диск, то проверьте разрешения вашей учётной записи. При использовании MacOS, учтите, что “root user” не рекомендуется и Unity ещё не прошёл тестирование в этом режиме. Unity всегда должен обладать разрешениями на запись файлов в своих папках, но если вы устанавливаете разрешения вручную, то проверьте эти папки:
- Папку с установленным Unity
- %AllUsersProfile%Unity (typically C:ProgramDataUnity)
- C:Documents and Settings\Local SettingsApplication DataUnity
- C:Users\AppDataLocalUnity
- Содержимое пакета Unity.app
- /Library/Application Support/Unity
- ~/Library/Logs/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 в корзину.
- Удалите следующие файлы, если они есть:
- Windows:
- %AllUsersProfile%Unity (typically C:ProgramDataUnity)
- MacOS:
- /Library/Application Support/Unity/
- Перезагрузите компьютер.
- Скачайте последнюю версию с нашего сайта, т.к. возможно ваш установщик может быть повреждён: http://unity3d.com/unity/download/archive
- Переустановите Unity.
Источник: docs.unity3d.com
Не запускается Unity?
Всем привет!
Не запускается Unity.
Установил Unity Hub, установил сначала версию Unity 2020.3.11f1 (64-bit), она не запускается с такой ошибкой
Эта ошибка появляется после Starting server..
я пробовал отключать брандмауер защитника Windows. И через консоль(cmd с правами администратора)
и в настройках
и все равно не запускается.
Антивирусов нет.
Пару раз она у меня все таки запустилась и я смог там немного поработать. Вчера. А сегодня опять никак.
Если нажимаю кнопку Diagnose, тест проходит нормально, с зелеными галочками.
Еще в брандмауере ставил галочки вот так
Установил еще несколько версий Unity, но ни одна не запускается.
Что делать?
Пробовал удалить все версии и устанавливал по одной, но все так же не запускается 🙁
- Вопрос задан более двух лет назад
- 1841 просмотр
Источник: qna.habr.com