Настраиваем окружение для UE4
О чем хочу поговорить? О том, как настроить свое окружение для UE4 так, чтобы потом не было мучительно больно работать. Какой у меня опыт? Никакого - инди из ассетов и та еще в разработке. Поэтому правки, замечания и дополнения максимально приветствуются!
Я, наверняка, опоздал с помощью к текущему гейм-джему… Значит, оставим сей труд для будущих поколений. 😁 Еще хочу отметить, что буду говорить о настройке UE4 именно для программирования. Скорее всего, у художников или звуковиков свои требования.
Железо.
Да, анрил требователен к железу. Если у вас совсем древняя пишущая машинка и нет возможности апгрейда, то стоит посмотреть на другие движки: Unity или Godot. Если же у вас геймерский ПеКа, то он наверняка подойдет для комфортной работы с UE4.
- Видеокарта. Советовать тут сложно. Она должна быть. Она должна быть дискретной. А дальше все зависит от тяжести игры. Я не замечал, чтобы анрил что-то усиленно считал на видюхе. Думаю, любая современная (год-два) дискретная видеокарта потянет большинство задач.
- Процессор. Сборка С++ и шейдеров проходит именно на CPU. Больше потоков – больше одновременных задач – быстрее выполняется работа. Частота процессора по приоритету ниже.
- Память. Ее должно быть очень много. 😊 Минимальный минимум 8 гигабайт. И очень важна скорость взаимодействия процессора с памятью, память должна успевать обслуживать все ядра. Вот тут может быть ощутимый профит от «разгона».
- Самое главное – винчестер. С HDD будут боль и страдания. Только SSD и по возможности NVMe. Обращать внимание на случайную скорость записи и чтения. 120 гигабайт будет впритык. Поставить 2 версии движка уже не получится, так как 4.22 с отладочной инфой весит около 35 гигабайт.
На 3dnews есть великолепный раздел «Компьютер месяца», конкретные комплектующие можно посмотреть в нем. Например:
Еще я не замечал на официальных стримах, чтобы кто-то из эпиков пользовался компьютерами от Apple. Если у кого-нибудь есть такой опыт, интересно будет его обсудить в комментариях.
Софт.
Напоминаю, весь софт должен лежать на SSD, не только движок.
- Винда. Эпики кругом и по всякому используют семерку и десятку. Я не видел macOS или Linux. Поэтому у меня большие сомнения, что они хорошо оптимизируют и тестируют работу с движком под другие платформы.
- Студия. Две версии на выбор: 2017 и 2019. 2017-я хороша и надежна, но без Visual Assist X работать с UE4 тяжело. IntelliSense не справляется совсем: подсветку не дождешься, автозаполнение не работает, кругом фантомные ошибки. А VAX стоит от $50 до $250, что, мягко говоря, ощутимо. С 2019 таких проблем нет, IntelliSense «из коробки» отлично переваривает UE4. Правда, сейчас есть небольшие проблемы со стабильностью, у меня пару раз студия падала на поиске.
- Если не устраивает студия, то можно попробовать CLion или Visual Studio Code. Но, в любом случае, придется ставить студию со всеми SDK.
- Epic Games Launcher (в этот момент раздается зловещий хохот Галенкина за кадром) и Unreal Engine 4. Я крайне рекомендую ставить самую последнюю версию движка и всегда его обновлять. Например, полная пересборка нашей игры на 4.21 занимала около 120 секунд, сейчас, на 4.22, эта операция занимает меньше 90 секунд.
- GIT или любая другая система контроля версий, поддерживаемая UE4. Даже если работа идет в одиночку. Дело в том, что через нее UE4 узнает об измененных файлах, и может группировать неизмененные С++ файлы в один, что существенно повышает скорость сборки. Поработали, видим, что студия начинает компилировать тонну файлов, коммит+пуш и снова все собирается быстро.
- Периодически желательно чистить папку с игрой. BAT-ничек прилагаю ниже, его кладем рядышком с *.uproject. Запускать перед коммитом, естественно закрыв студию и движок.
Настройка.
Антивирус. Этот друг реально бесит, но без него страхово. Поэтому в исключения добавим только критичные для разработки папки:
C:\Program Files (x86)\Microsoft Visual Studio
- C:\Program Files (x86)\Windows Kits
- C:\Program Files\Epic Games
- C:\Users\{$USER}\AppData\Local\Microsoft\VisualStudio
- C:\Users\{$USER}\AppData\Local\UnrealEngine
- C:\Users\{$USER}\Documents\Unreal Projects - или другая папка в которой лежит игра
Далее, есть такая дока по настройке студии для UE4:
Для 2019-й она устарела, и я бы посоветовал только отключить ErrorList и в тулбаре увеличить ширину поля SolutionConfiguration. В плане производительности менять ничего не надо.
В настройках Epic Games Launcher чекаем Minimize To System Tray, это сэкономит немного оперативки. Если недостаточно места на SSD, то там же можно указать другую папку для Vault Cache Location. В эту папку скидываются примеры и ассеты и она может занимать довольно много места.
Поведение.
Будьте вежливы! 😊 Плюс к этому:
- Первый запуск движка. Вырубить рендеринг фильма, майнинг биткоина и прочее. Запастись терпением и спокойствием. UE4 может ощутимо подвиснуть на 45% и 73%. Не пугаемся, пьем чай/кофе, ждем до победного.
- Если видим в правом нижнем углу «Compiling Shaders». Лучше всего дождаться окончания процесса. Не бесите движок - не меняйте материалы. Да и любая другая работа в этот момент не будет приятной.
- В студии же, наоборот, лучше пересобрать проект, а уже потом дать IntelliSense сканировать его. Дело в том, что при сборке Unreal Build Tool создает дополнительные файлы и если их нет, то IntelliSense может генерировать фантомные ошибки.
По коду только такое:
- Если есть возможность, разбивайте игру на модули и плагины. Но грамотно такое сделать… Нужна голова с Камаз 😊
- Аккуратнее с #include, особенно в заголовочных файлах. Это основная причина тормозов.
- Если много раз перекомпилировали игру, сделайте рекомпайлинг при закрытом редакторе. Это избавит от некоторых ошибок.
Конец.
Вот и все, ребята! 😃 Жду ваших tips and tricks в комментах!
PS: Очень клевое видео для повышения своей производительности.
Комментарий недоступен
В 2017 и 2019 уже не так. Все настраивается и удаляется через один инсталлер. Удобно.
Ну так майкрософты дали тебе VS Code, зачем тебе вся студия?
-
Ни раз видел Live Training на MacOS, да и коллеги успешно ставили ue4 на свои макбуки. Проблем особо не наблюдалось. С Linux другое дело, под ubuntu сталкивались с кучей багов.
Под Линуксом сейчас все более менее хорошо работает. Главный минус в том, что собираешь только движок, а ассеты с маркетплейса качаются только через лаунчер, который для линукса не завезли. И получается такой вот огрызочек.. При чем уже года с 15 пинают эпиков за линуксовый лаунчер или хотя бы скачку ассетов через браузер, но видимо им это нахер не нужно.
А ещё можно так делать