Unreal Engine 4.27 から 5.x への移行で発生するエラー
Unreal Engine 4.27 のプロジェクトは、シンプルな構成であれば Unreal Engine 5.x 系のエディタで開くだけで自動的にアップグレードされます。
しかし、ブループリントと C++ が混在するプロジェクトや、多数のプラグインを導入しているプロジェクトなど、ある程度複雑な構成の場合はアップグレード時にエラーが発生することがあります。
エラーの種類はさまざまで、それぞれに個別の対処法が存在します。まずは公式ドキュメントや他の情報源を参照して、一般的な対処法を試してみてください。
本記事では、それらの方法を試しても解決しなかった場合の最終手段を紹介します。筆者自身も丸一日かけてさまざまな方法を試した末に、この方法でようやくアップグレードに成功しました。
新規プロジェクトへのコンテンツ移動による移行手順
この方法の考え方はシンプルです。Unreal Engine 5.x で新しいプロジェクトを作成し、旧プロジェクトのコンテンツをそこに移動します。プロジェクトファイル自体のアップグレードをバイパスするため、多くのエラーを回避できます。
具体的な手順は以下のとおりです。
- 旧プロジェクトで使用しているプラグインを、移行先バージョンの Unreal Engine にすべてインストールする
- Unreal Engine 5.x で空のプロジェクトを作成する(旧プロジェクトに C++ コードが含まれる場合は、C++ プロジェクトとして作成する)
- 作成した新プロジェクトを一度エディタで開き、正常に起動することを確認してから閉じる
- C++ コードがある場合は、すべてのソースファイルを新プロジェクトに手動でコピーする
- 旧プロジェクトの設定ファイル(Config フォルダ内)を新プロジェクトに上書きコピーする
- 旧プロジェクト(4.27)をエディタで開き、Content Browser で全コンテンツを選択して新プロジェクトに移行する( 公式ドキュメント:コンテンツの移行方法 )
- 新プロジェクトを開き直し、C++ のコンパイルエラーがあれば修正する(5.x で廃止された API の置き換えなど)
- 5.x と互換性のないブループリントノードや C++ 関数を修正すれば、アップグレード完了
まとめ
Unreal Engine 4.27 から 5.x へのアップグレードで通常の方法ではエラーが解決しない場合、新規プロジェクトを作成してコンテンツを移動する方法が最終手段として有効です。
プロジェクトファイル自体のアップグレード処理を経由しないため、移行時に発生する多くのエラーを回避できます。
ただし、この方法でもコンテンツ移動後に C++ やブループリントの互換性修正は必要になるため、移行前にバックアップを取っておくことをおすすめします。
コメント