Одним томным вечером я вспоминаю про своё давнее увлечение. Первое, что захотелось сделать сразу же - установить движок. Так как до этого работал только с юнити, мои пальцы уже бежали по комбинации клавиш, вводя URL-адрес сайта юнитеков в браузере. Радости и трепета не было предела, когда я загрузил установочные файлы и приступил к установке. Все шло хорошо ровно до момента запуска движка. Оно не запускается. Ни через терминал, ни через ярлычок - вообще никак. После тщетных попыток хоть как-то починить это дело (то, что ты даже еще не успел запустить) в течение 1-2 часов было принято решение перезагрузиться и... Свершилось! Оно запустилось, пусть меня и встретило окошко UnityHub вместо привычного редактора. Ситуация с перезапуском меня немного смутила, но отбросив все лишние мысли я стал разбираться и заново привыкать к движку. Начало положено.
Если бы все ограничивалось этой небольшой проблемой, то этого поста не было. На протяжении ленивого "сноваосвоения" движка было найдено куча и куча неприятностей, о которых коротко будет написано ниже.
Ручной реимпорт скриптов при каждом изменении хотя бы одного символа в коде - это самая раздражающая проблема, которая, на удивление, решается довольно легко. Привычное поведение при внесении изменения в код: открываешь VS/Code/whatever-you-use - редактируешь код - переключаешься на окошко юнити - тебя встречает бесящее окошко с прогресс баром. В ситуации с Linux (в различных дистрибутивах и окружениях) тебя встречает ничего, просто редактор. Чтобы вновь
Ручная регенерация файлов проекта при создании новых скриптов - это одна из проблем, которые так и не удалось решить ни нормально, ни какими-либо костылями. Каждый раз создавая новый Monobehaviour Script ты задаешься вопросом, ответом на который служит уже привычное "Это Linux". И просто топаешь генерировать служебные файлы проекта C#. Каждый раз.
Маленький шрифт интерфейса без возможности его увеличить решением "из коробки". Ты — счастливый (успешный, амбициозный, сексуальный) обладатель 4к монитора? Тебе выпала уникальная возможность делать зарядку для шеи и глаз на протяжении всего времени работы за редактором путем постоянного перемещения положения корпуса с целью приглядеться в интерфейс юнити! Инди игры это ад для разработчика, где работа с редактором юнити под ОС на Linux - это отдельный котел. Особенно для глаз разработчика.
Перетаскивание скриптов на GameObject. Вместо простого drag and drop скрипта на GameObject на Linux ты должен при перетягивании скрипта не него найти определенный пиксель, в котором это будет не просто выделение GO, а применение скрипта. В процессе пиксель хантинга ты как будто бы поглаживаешь GO, в компонент которого ты хочешь положить скрипт. После 10 попытки у тебя есть ухоженный GO со скриптом в компоненте. Да и сам ты уже по другому относишься к этому GO, бережнее чтоли. Не баг, а фича?
Это не полный список проблем, с которыми я столкнулся. Буду дальше делиться своим опытом в следующих частях. Есть что рассказать в т.ч. и про Unreal Engine в этом цикле, но гораздо меньше, чем про Unity3d :)