概要
通常のEpic LauncherのUE5で開発していたアプリを、OculusのUE5をエンジンビルドしたもので起動したときに、パッケージングに失敗するということがありました。
結論から言うと、使用していたプラグインのマイナーバージョンが異なっていたことが原因でした。
エンジンビルドする方々の中ではもしかすると常識的なことなのかもしれませんが、Launcherのエンジンでは発生したことがなくて個人的には結構ハマったのでメモを残しておきます。
環境
OS:Windows 11
元々開発していたバージョン:UE5.1.0 → UE5.1.1(Epic Launcherからダウンロードしたものを使用、開発途中でUE5.1.0 → UE5.1.1にマイナーアップデートした)
パッケージングに失敗したバージョン:oculus-5.1.1-v50 @Commit 05a1fbcb417a45cfe011326de4abf1b79fa7a680
発生した現象
OculusのUE5でプロジェクトを起動したところ、バージョン違いのプラグインの数だけ下記のようなメッセージが表示されました。
ここで「はい」を選択してUEエディタを起動すると、VRプレビューでは問題なく起動したのですが、パッケージングで失敗しました。
パッケージングでは下記のエラーメッセージが出て失敗しました。
ERROR: Cook failed.
(see C:\Users\[ユーザー名]\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_5.1\Log.txt for full exception trace)
Cookで失敗しているのですが、ログを見てもそれらしいエラーが出ていないので困りました。
上記Log.txtと同じフォルダ(C:\Users\ [ユーザー名]\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_5.1\)にあるCookのログファイル(Cook-YYYY.MM.DD-hh.mm.ss.txt)を確認してみると、プラグインが原因であることが分かりました。
Message dialog closed, result: Ok, title: Message, text: Plugin '[プラグイン名]' failed to load because module '[プラグイン名]' could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project.
対応策
.upluginのEngineVersionで違うマイナーバージョンを指定しているプラグインを修正しました。
(EngineVersionの記載自体を削除してもおそらく大丈夫です。)
修正前
"EngineVersion": "5.1.0",
修正後
"EngineVersion": "5.1.1",
所感
Launcherのエンジンではマイナーバージョン違いで失敗したことがなかったので、ここが原因だということに気づくまでに時間がかかってしまいました。
プロジェクトを開いたときに出てきたメッセージをちゃんと読んでおけばよかったです。
とりあえず「はい」を選んでみてVRプレビューで動いたからいいだろうと判断したのは失敗でした。。