Настраиваем окружение для 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. Запускать перед коммитом, естественно закрыв студию и движок.
echo off rem Visual Studio del /Q .vs rd /S /Q .vs del *.sln rem Visual Studio Code del /Q .vscode rd /S /Q .vscode del *.code-workspace rem Unreal Engine del /Q Binaries rd /S /Q Binaries rem Build - build settings del /Q "Build\WindowsNoEditor" rd /S /Q "Build\WindowsNoEditor" rem Intermediate - temporary files generated when you compile your code del /Q Intermediate rd /S /Q Intermediate rem Saved - local log & configuration files, screenshots, auto-saves etc. del /Q Saved rd /S /Q Saved

Настройка.

Антивирус. Этот друг реально бесит, но без него страхово. Поэтому в исключения добавим только критичные для разработки папки:

  • 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: Очень клевое видео для повышения своей производительности.

100 UE4 Tips and Tricks | Unreal Fest Europe 2019 | Unreal Engine
5656
35 комментариев

Комментарий недоступен

5
Ответить

В 2017 и 2019 уже не так. Все настраивается и удаляется через один инсталлер. Удобно.

1
Ответить

Ну так майкрософты дали тебе VS Code, зачем тебе вся студия?

Ответить

-

2
Ответить

Ни раз видел Live Training на MacOS, да и коллеги успешно ставили ue4 на свои макбуки. Проблем особо не наблюдалось. С Linux другое дело, под ubuntu сталкивались с кучей багов.

1
Ответить

Под Линуксом сейчас все более менее хорошо работает. Главный минус в том, что собираешь только движок, а ассеты с маркетплейса качаются только через лаунчер, который для линукса не завезли. И получается такой вот огрызочек.. При чем уже года с 15 пинают эпиков за линуксовый лаунчер или хотя бы скачку ассетов через браузер, но видимо им это нахер не нужно.

1
Ответить

А ещё можно так делать

1
Ответить