Unreal Engine 5.4 + C++ + MacOS Tahoe + Android build = Build Successful

Совсем недавно одна известная компания по разработке очков виртуальной реальности очень сильно лажанула и выкатила обновление, которое положило трансляцию с очков в режиме VR preview на системе Windows и как следствие, отключила меня от продуктивной разработки. При этом на системе MacOS как ни странно даже после обновления отлично работало. Недолго думая, я конечно, написал обратную связь разработчикам и пошел переносить все среду разработки на свой Mac M1 Pro с Tahoe. 

Двое суток я боролся с системой и пытался найти решение, но все было тщетно — нашел один одинокий ролик на youtube, и пару комментариев на форуме epic, но ничего из этого мне не помогло.

Если я что то упустил на reddit или на других ресурсах, не судите строго. Значит это будет еще один пост, который спасет много людей от ада, через который очередной раз прошел я. Хотя я, смотря на такие ситуации со стороны, называют это — еще один обычный день разработчика.

Подсвечу, что делать мы это будем на именно на чистую систему. это мой выбор.

Откуда вы скачали сам движок, не будет иметь значения, при этом в моем примере рассматривается именно версия, скаченная с epic games launcher.

И так начнем.

Устанавливаем Visual Studio 2022 for Mac

Тут два варианта: Идем на Microsoft или выполняем команду
brew install ‑cask dotnet‑sdk

При установке компонентов выбираем .NET SDK
Unreal Build Tool (UBT) работает на C#

Устанавливаем Xcode.

Принимаем пользовательское соглашение.
Если по какой то причине запрос за соглашение не пришел открываем терминал и выполняем:
sudo xcodebuild ‑license accept

Заходим в Xcode и устанавливаем Metal

Путь: Xcode→Settings→Components→Metal toolchain→Get

Или в терминале:

sudo xcodebuild ‑downloadComponent Metal‑Toolchain

Unreal Engine по умолчанию запрашивает инструменты, скомпилированные под архитектуру x86_64, поэтому если у вас процессор Apple Silicon как у меня, вам обязательно нужно установить Rosetta
softwareupdate ‑install‑rosetta ‑agree‑to‑license

Скачиваем Unreal Engine 5.4 в Epic Games Launcher.
После запускаем движок, выбираем любой шаблонный игровой проект для теста, выбираем С .
Выбираем директорию для установки и жмем открыть.

Возможно, именно на этом моменте у многих могла начаться боль и ненависть ко всему здесь происходящему.

Но все идет по плану.

Отступление: Если у вас такая же кроссплатформенная разработка как у меня, и/или вы работали на windows и возможно вы уже знали, что директории Binaries, DerivedDataCache, Intermediate, Saved нужно удалять, в Mac это нужно делать с еще большей частотой и радостью .xcworkspace!

Теперь идем копаться в исходниках движка и исправить за хардкоженные конфигурации.

UE 5.4 не поддерживает macOS SDK 26.x «из коробки» потому что эта версия вышла уже после релиза движка.

Находим файл Mac_SDK.json по пути
/Users/Shared/Epic Games/UE_5.4/Engine/Config/Mac/

заменяйте на:

{

“ParentSDKFile”: “../Apple/Apple_SDK.json”,

“EditorDeploymentTarget”: “15.0.0”,

“EditorBuildTarget”: “26.2”,

“DeploymentTarget”: “15.0.0”,

“BuildTarget”: “26.2”,

// macOS 26.2 (Updated for 2026 compatibility)

“MinSoftwareVersion”: “13.00”

}

Далее, находим Apple_SDK.json по адресу 

/Users/Shared/Epic Games/UE_5.4/Engine/Config/Apple/

Меняем значения на:

“MainVersion”: “26.3”,

“MinVersion”: “14.1.0”,

“MaxVersion”: “26.9.0”,

Возвращаемся в директорию с созданным ранее проектом, удаляем кэш и артефакты, если они есть, нажимаем на.uproject правой кнопкой мыши и выбираем generate Xcode project.
Нас интересуют два файла ‑.xcworkspace и.sln. Про.sln можете забыть.
Запускаем.xcworkspace. Индексирования всех файлов можно не ждать.
Все что тут нужно будет сделать, это выбрать в верхней строке меню Product→Scheme→Choose scheme 

И выбрать <название проекта> Editor и выполнить build and run

Наслаждайтесь!

Если вам нужно компилировать проект на Android, не расходимся.

Идем в Oracle и качаем Java 17.0.12 только ее!
Далее вам нужно установить Android SDK/NDK что можно сделать либо через Android studio или через UnrealEditor, но кажется, с NDK он ставит неверную версию.
Может у меня что то пошло не так с первого раза, я не понял, но что точно сработало, что сначала установка всех необходимых компонентов в Android Studio а потом в Unreal Engine -> Install SDK.
Что ставить:
SDK (29/34) 34 (по желанию)
NDK 25.1.8937393 Обязательно!

Android build‑tool эквивалентный версии SDK

Android SDK Command‑line Tools latest

Android SDK Platform‑tools

Далее идем в Unreal Editor и указываем:

  1. Минимальный и целевой версии SDK

  2. Жестко прописываем пути

Важный момент: Если после запуска UnrealEditor из Xcode вы просто закроете его через Quit Unreal Editor, при следующем запуске вы возможно опять получите ошибку компиляции. Подобная ошибка присутствует при работе в windows → Unreal Engine Rider в режиме отладки.
Не паниковать. Закрываем Unreal, удаляем весь кэш, включая.xcworkspace и генерируем файлы заново.

Поэтому рекомендую первую компиляцию делать через Xcode, а дальше запускать через Epic Games Launcher.

Через IDE даже не пытайтесь этого делать.=)

На этом у меня все. Надеюсь кому то этот пост поможет.

Желаю всем мира и успешных проектов.

Read More

LEAVE A REPLY

Please enter your comment!
Please enter your name here