ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【ゼロからアンリアルエンジン5】㉘プロジェクトのバージョンの上げ方とプロジェクトが開かなくなったときの対処法

目次

 

はじめに

注意

UE5.0.0の現在の情報です。

今後のアップデートによりUIや機能が変更される可能性があることをあらかじめご理解ください。

 

 

本日(2022/04/06)よりアンリアルエンジン5が正式リリースされました!

 

https://www.unrealengine.com/en-US/blog/unreal-engine-5-is-now-available

f:id:namiton:20220406115932p:plain

 

前バージョンで作成されたプロジェクトのバージョンアップはつまづくことが多いので解説します。

 

注意! バージョンアップは最悪プロジェクトが破損する恐れがあります。

重要度高かったりが締め切りが近いプロジェクトでのバージョンアップは避けましょう。

 

 

解説

⓪バージョンアップをする前にやること

 

1-バックアップの作成

保存先のプロジェクトフォルダごと別の場所に複製してもしもの対策をしておきましょう。

2-C++クラスの生成

※※ブループリントでプロジェクトを生成した場合は特に※※

プロジェクトを開きファイルからC++クラスを適当に生成しておきましょう。

f:id:namiton:20220406124654p:plain

 

①バージョンアップ方法

早期アクセスから正式版や、マイナーアップデートなどはランチャーからエンジンのアップデートを行えば問題ないです。

 

しかし4.25から4.26など大きなアップデートはプロジェクトフォルダ側でバージョンを指定する必要があります。

プラグインなどが対応していなかったり、機能が削除されたりすると最悪開けなくなるので慎重に対応しましょう。

 

プロジェクトファイルからSwitchする。

f:id:namiton:20220406120945p:plain

 

どのインストールされているエンジンで開くか指定できる。

f:id:namiton:20220406121023p:plain

 

プラグインなどが新しいバージョンに対応していないなど問題があるとこのようなエラーが出ます。

f:id:namiton:20220406122957p:plain

対応しているバージョンはストアから閲覧できます。

f:id:namiton:20220406123114p:plain

②とりあえず開いてみる

開けなかった!f:id:namiton:20220406120236p:plain

 

Assertion failed: (TTraits::WithIdentical || TTraits::WithIdenticalViaEquality) [File:E:\UnrealEngine\UE_RelTestA\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h] [Line: 1476]

 

どうやら正式版になってエンジン側に問題があるようです。

 

Redditの投稿に同じ内容のものがありました。

どうやらBridgePluginが悪さしているようなのでエンジンをインストールしなおしました。

www.reddit.com

インストール済みプラグインからQuixel Bridgeを更新しましょう。

f:id:namiton:20220406145927p:plain


今回はこれで開けるようになりました。

f:id:namiton:20220406150126p:plain

 

それでも開かない場合の解決方法は2つあります。

1-ソリューションファイルを作成してソースコードから修正する

〈難易度★★★★★〉

どの機能がエラーを吐いているかをソースコードから確認します。

難易度は高いですがやってみる価値はあります。

 

プロジェクトからGenerateVisual~をします。

f:id:namiton:20220406121318p:plain

 

ファイルを生成できませんでした。とエラーが出たらほぼ詰みです。

もう一つの手法に希望を託しましょう。

C++クラスを生成していたら回避できます。

f:id:namiton:20220406122149p:plain

 

生成できた場合はソースコードを開けるので

エラー箇所を修正できる場合はビルドしなおしましょう。

それでも開けなかったらもう一つの手法に希望を託しましょう。

 

2-別のプロジェクトを作成して内部データをコピペする

〈難易度★★★☆☆〉

別でプロジェクトを作成してアセットを移動する方法です。

アセットが大きいと移植が大変ですが、確実性が高いのでおすすめです。

多少手間はかかりますが、小分けして移植することで問題のアセットを発見することができそうです。

 

ランチャーから目的のバージョンのエンジンを開いてプロジェクトを作成しましょう。

作成したプロジェクトのエクスプローラーを開き、元のContentフォルダからコピペします。

f:id:namiton:20220406151219p:plain

 

また、Configを共有すると入力やコリジョンのプロファイルデータも上書きすることができます。

f:id:namiton:20220406151708p:plain

起動できるか確認しましょう。

 

最後に

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやTwitterのフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。