UE5
Запускаем проекты курса под UE5
Last updated
Was this helpful?
Запускаем проекты курса под UE5
Last updated
Was this helpful?
Обновляем EpicGamesLauncher. После обновления появится новая вкладка UE5. Далее, обычным образом устанавливаем UE5 Early Access на вкладке Library.
Невозможно сгенерировать файлы проекта, потому что поменялся путь до UnrealBuildTool (специальная программа для автоматизации UE).
Изменяем версию движка, через контекстное меню (кликаем правой кнопкой мыши на файле .uproject):
Получаем ошибку:
Такая же ошибка возникнет, если мы просто сгенерируем файлы проекта через пункт меню Generate Visual Studio project files.
Я добавил три .bat файла для генерации файлов проекта в оба репозитория (GeometrySandbox и ShootThemUp):
Первый родительский скрипт devops/generate_project_files.bat
трогать не надо. Это параметризованный скрипт, который меняет версию проекта и генерирует файлы VS:
В данный скрипт передаются параметры необходимые для генерации файлов проекта под конкретную версию движка. Происходит это в соответствующих скриптах generate_project_files_4.26.bat и в generate_project_files_5.0.bat. По сути они нужны для специализации параметров родительского скрипта.
Вам необходимо поменять 2 переменные в соответствии с местоположением UE на диске: EnginePath, VersionSelector.
То же самое. Обращаю внимание на BuildToolRelativePath, данный путь поменялся в UE5 и из-за этого сейчас проблема с генерацией через контекстное меню. Он был перенесен в поддиректорию UnrealBuildTool:
BuildToolRelativePath=Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe
Тем не менее при вызове данного скрипта окно ошибки будет выводиться:
Это происходит, потому что при переключении версии дополнительно вызывается генератор файлов проекта, в котором ошибка. В этом ничего страшного нет. Просто ее игнорируем и нажимаем OK. Это не исправить, не затрагивая исходники движка. Мы дополнительно, после переключения версии движка, самостоятельно генерируем файлы проекта с правильным путем до UnrealBuildTool.exe
Дополнительный скрипт для удобства. Он очищает все временные файлы и директории.
Данный заголовочный файл в классе USTUHealthComponent необходимо заменить на базовый инклюд:
include "Camera/CameraShakeBase.h"
Это никак не повлияет на 4.xx версии, поэтому это общее изменение. Обновил это отдельным коммитом.
Дополнительно, пути EnginePath, VersionSelector можно определять автоматически через регистр Windows. В данном случае это оверинжиниринг, поэтому мы их указываем явно, ничего страшного в этом нет.
Имя проекта ProjectName.uproject также можно определить автоматически по расширению.
Ветку под UE5 я пока делать не буду, никакие изменения не требуются для запуска вообще. Ближе к делу разберемся.
При смене версий движка, рекомендую удалять все временные файлы. То есть сначала вызывать скрипт clean_intermediate_files.bat и потом один из скриптов генерации. Не забывайте закрывать Visual Studio — файл sln также удаляется в этом скрипте.
Переходить на UE5 не надо. Очень сырая версия. Поизучать интерфейс — ОК. Визуально поменялся только интерфейс (по сути скин). Все настройки, параметры находятся на тех же местах. Проблем (на текущий момент) c переходом на UE5 не будет никаких. Все наши проекты успешно компилируются под эту версию. Кодовая база в этом плане не затронута. Весь код курса будет актуальным и для UE5.
Дополнительно, для удобства можно создать дополнительный скрипт clean_and_gen.bat, который удаляет временные файлы и генерирует файлы проекта одновременно, с двумя строчками внутри: clean_intermediate_files.bat generate_project_files_4.26.bat
Обновляйте репозитории. Коммиты добавлены.