C++, Unreal Engine 4

[UE4][C++]最新のVisual Studio 2019でUE4.27をソースコードからビルドとパッケージングをする

需要があるのかどうか全くわかりませんが、タイトルの通り最新のVisual Studio 2019でUE4.27をソースコードからビルドして、パッケージングまでしようとすると、諸々細工が必要でした。ひょっとするとVisual Studio 2022を用いる場合でも同様かもしれませんが未検証です。

1つ1つの解決方法は探すと見つかるのですが、まとまっているものを見つけられなかったのでまとめておきます。

1. Windows SDKを10.0.18362.0にする

Can’t build Unreal Editor 4.27.2 from source
https://forums.unrealengine.com/t/cant-build-unreal-editor-4-27-2-from-source/654850/18

Visual Studio Installerを開いて「個別のコンポーネント」から、Windows 10 SDK (10.0.18362.0)のみをチェック。標準インストールでは含まれないようです。そしてこれ以外のWindows 10 SDKとWindows 11 SDKもチェックを外してアンインストール。但し他のプロジェクトで必要な場合はもちろん削除出来ないと思いますので、その場合は…ごめんなさい、未検証です。

2. .Net Framework 4.6.1と4.5の開発者パックをインストール

エンジンビルド(GenerateProjectFiles.bat実行時)のときに.Net Framework 4.6.1が無いと言われて怒られます。下記からダウンロード可能。「サポート対象外のバージョン」から「開発者パック」をダウンロードしてインストールします。

https://aka.ms/msbuild/developerpacks

生成されたソリューションファイルを開くと、今度は.Net Framework 4.5が無いと言われて怒られます。ここで4.5は開発者パックが無い!!

下記のとおりnugetからダウンロードすると出来ました。拡張子を.nupkgから.zipに変えて解凍するとOKだなんて知らなった…。

Open .net framework 4.5 project in VS 2022. Is there any workaround?
https://stackoverflow.com/questions/70022194/open-net-framework-4-5-project-in-vs-2022-is-there-any-workaround/70109092#70109092

3. AutomationToolをRebuild

これでエンジンビルドは出来るのですが、プロジェクトをパッケージングしようとすると
Failed to build “C:/UnrealEngine/Engine/Programs/AutomationTool/Saved\UATTempProj.proj”
というようなエラーでビルド出来ません…。

まずは、Visual Studio上でHoloLens.AutomationプロジェクトにWindows.winmdへの参照を追加します。
下記で画像付きで解説されていますので、そのまま真似すればOK。

UE4.27Plus Installed Build Problem while Building
https://forums.unrealengine.com/t/packaging-game-server-fails-using-unreal-engine-source-build/153421/7

このあと、今度はVisual Studio上でAutomationToolプロジェクトをRebuildします。下記の通り行えばOK。中国語ですが(私も読めません)、画像を見ればわかります。

【UE4】打包失败 Failed to build UATTempProj.proj
https://blog.csdn.net/Bob__yuan/article/details/128007627

これでようやくエンジンビルドからパッケージングまで出来るようになりました。辿り着くまでに四苦八苦で割と焦りました。

コメントを残す

メールアドレスが公開されることはありません。