Unreal Engine 4. Нюансы сборки.

Различные нюансы по движку на Linux описаны здесь, но попадаются вещи, которые там не упомянуты.

Случается такое, что при сборке движка для Linux по официальной инструкции могут собраться не все необходимые для работы движка модули. К примеру, может не собраться UnrealLightmass и ShaderCompileWorker. Отсутствие первого приведёт к невозможности запечь освещение на уровне, а второе вовсе не позволит запустить движок:

Проблема решается  весьма просто. Необходимо собрать отсутствующий модуль, в данном примере ShaderCompileWorker, при этом пересборка движка не потребуется.

Все модули, которые могут быть собраны, перечислены в makefile. После генерации файлов проекта с помощью скрипта ./UnrealEngine/GenerateProjectFiles.sh требуемый makefile будет располагается здесь: ./UnrealEngine/Makefile

В нём перечислены все модули, которые могут быть собраны. Убеждаемся, что ShaderCompileWorker там упомянут. Теперь можно приступать к сборке

 

Сборочный скрипт находится здесь ./UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh

Потребуется его выполнить в терминале, указав необходимые опции:

./UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh ShaderCompileWorker Linux Development -verbose

ShaderCompileWorker — название модуля, который будет собираться.

Linux — платформа, для которой будет вестись сборка.

Development — указывает, что нужно собирать без функции отладки (debug).

-verbose — показывать в терминале подробный лог процесса сборки. Может быть полезным для решения вероятных проблем.

И так далее.

Если всё пройдёт хорошо, модуль будет собран и движок сможет запуститься. По аналогии решается проблема со всеми остальными модулями, которые потребуются.