Перейти к содержимому

Unity: empty errors and No Monobehaviour scripts in the file…

Обновив свой iMac на SSD NVME я переустановил Mac OS Catalina 10.15.5 и при запуске Unity обнаружил неприятные вещи…

Cразу при запуске у меня в консоли стали отображаться так называемые empty errors — пустые ошибки.

Empty errors in Console

Эти ошибки не стираются и по ним никаких данных редактор не отображает.

Но самой досадной ошибкой стал глюк Unity, при котором все создаваемые скрипты автоматически помечались сообщением — «No MonoBehaviour scripts in the file, or their names do not match the file name«.

Я начал искать способы решения проблемы в Яндекс. Перепробовал много всего ( и смену локализации, и переименование каких-то файлов, и чистку в системе с последующей переустановкой и т.д.), но ничего не помогало.

Тогда я просто тупо открыл логи Unity и начал оттуда выписывать все ошибки, а потом проверять их в Яндексе.

В итоге я наткнулся на интересную статью, где описывалась ошибка «Failed to create CoreCLR, HRESULT: 0x8007001F on MacOSX«. В ней описывался баг, который возникал при запущенной Parallels Desktop. Оказывается, при запуске этой программы все команды dotnet в консоли вызывают ошибку и не работают. При закрытии Parallels Desktop и остановке всех её процессов в системе dotnet оживал и никаких ошибок не возникало.

Я проверил это в своей системе и увидел аналогичную картину. Дело в том, что я активно пользуюсь Parallels Desktop в режиме Coherence, при котором все приложения Windows 10 становятся как бы частью Mac OS. Это очень удобно.

Я закрыд программу Parallels Desktop, затем открыл запущенные процессы в Mac OS и убил там процесс Parallels Desktop (да, при закрытии программы всё равно висят некоторые процессы).

После этого Unity запустилась без ошибок 🙂 Надеюсь, Вам это поможет, если Вы столкнулись с аналогичной ошибкой в Unity, запущенной в Mac OS.

***

I found a problem — Parallels Desktop! It broke the work of dotnet:
https://github.com/dotnet/sdk/issues/10870

I stopped virtual Windows 10, then closed Parallels Desktop, then killed process from Parallels Desktop in Activity Monitor.Unity is working properly now 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *