🙄
【UE4/UE5】パッケージ化失敗パターン
パッケージ化失敗が起きる度、その原因と対処法を書き留めていきたいと思います。
ERROR: Cook failed.
コンパイルエラーが原因のパターン
パッケージングに失敗し、エディターのアウトプットログにエラー文が表示されていました。
UATHelper: パッケージ化 (Windows (64-bit)): ERROR: Cook failed.
UATHelper: パッケージ化 (Windows (64-bit)): (see C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.26\Log.txt for full exception trace)
UATHelper: パッケージ化 (Windows (64-bit)): AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
UATHelper: パッケージ化 (Windows (64-bit)): BUILD FAILED
ログファイルは以下のパスでも確認できます。
"/プロジェクト名/Saved/Logs/"
アウトプットログに示された以下の文のとおりに、該当のファイルを見てみました。
(see C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.26\Log.txt for full exception trace)
ファイルの下の方まで行くと何やらコンパイルエラーを起こしているような記述がありました。
そういえば、ほったらかしにしてたコンパイルエラーがあったのを思い出しました。コンパイルエラーを修正し、再度パッケージ化したらうまくいきました。
構造体をいじった際のエラー
UATHelper: パッケージ化 (Windows): LogProperty: Error: FStructProperty::Serialize Loading: Property 'StructProperty /Game/プロジェクト名/Widget/構造体が使われているクラス'. Unknown structure.
解決
エラーが出てるファイルを開いてコンパイルし直したら、パッケージ化できました。
LogLinker: Error: ○○ has an inappropriate outermost, it was probably saved with a deprecated outer (file: ../../../../
Project contains multiple Game targets
別のプロジェクトをクローンで複製した際に問題が発生したのか、以下のようなログが表示され、パッケージ化に失敗したことがありました。
UATHelper: パッケージ化 (Windows): Project contains multiple Game targets (プロジェクト名(A), プロジェクト名(B)) but no DefaultGameTarget is set in the [/Script/BuildSettings.BuildSettings] section of DefaultEngine.ini
解決
Intermediateフォルダの削除するとパッケージ化に成功しました。
Discussion