新しいUEが出た。使いたい機能がある。でも、作りかけのプロジェクトを上げて壊れたらと思うと手が止まる。
UEは年2回ほどメジャーバージョンが上がります。個人開発の期間なら、制作中に2〜3世代またぐことも珍しくありません。上げること自体は難しくないのですが、「壊れても戻れ る状態を先に作っておくか」で結果がまったく変わります。この記事では、上げるべきかの判断軸、複製してから試す手順、上げた直後にどこを見るか、そしてよくある壊れ方と直し方を解説します。
この記事でわかること
- 上げるべきか、待つべきか の判断軸
- 複製してから試す という鉄則
Switch Unreal Engine Versionでの上げ方- 上げた直後に Output Logで見る場所
- よくある壊れ方(非推奨ノード・プラグイン無効化・マテリアル)
- 実践: 1バージョン上げて、壊れた箇所を直すまで
上げるべきか、待つべきか
まず前提として、上げないという選択は正しい選択です。動いているプロジェクトを、理由なく上げる必要はありません。
上げる理由は、次の2つに絞れます。
- 使いたい新機能がある(新しいレンダリング機能、新しいアニメーション機能など)
- 今のバージョンのバグに当たっている(新バージョンで直っていると分かっている)
逆に、上げないほうがいい場面ははっきりしています。

| 場面 | 判断 | 理由 |
|---|---|---|
| 新バージョンのリリース直後 | 待つ | 初期のバージョンは不具合が残っていることがある。少し待つと修正版が出る |
| 制作終盤・リリース直前 | 上げない | 得るものより、壊れて確認し直すコストのほうが大きい |
| 有料プラグ インを使っている | 各プラグインの対応を確認してから | プラグインが新バージョンに未対応だと、その機能ごと止まる |
| チームで作っている | 全員で足並みを揃えてから | 1人だけ上げるとプロジェクトが開けなくなる |
プラグインの確認がいちばん見落とされます。 Fabで買ったアセットやプラグインには対応バージョンが書かれています。使っているものを一度書き出して、全部が新バージョンに対応しているかを見てから決めてください。
上げる前にやること
ここがこの記事の背骨です。次の2つをやっておけば、何が起きても元に戻れます。
- コミットする — ソース管理 を入れているなら、上げる前に必ず1回コミットしておきます。「バージョンを上げる直前」の旗を立てておく、ということです
- プロジェクトフォルダを複製する — フォルダごとコピーして、複製したほうを上げます。元のフォルダには手を触れません

複製さえしておけば、失敗したときの復旧は「複製フォルダを消す」だけです。この安心があるかないかで、試せることの幅が変わります。
複製したら、開く前に3つのフォルダを削除しておきます。
| フォルダ | 中身 | 消していい理由 |
|---|---|---|
Saved | 一時ファイル・ログ・自動保存 | エンジンが作り直す |
Intermediate | ビルドの中間生成物 | 同上 |
DerivedDataCache | シェーダーなどのキャッシュ | 同上 |
これらは前のバージョンで作られたキャッシュなので、残したまま新バージョンで開くと、原因の分かりにくい不具合の元になります。消しておけば新バージョンで作り直されます(初回起動は少し時間がかかります)。
ContentとConfigと.uprojectは絶対に消さないでください。 ここが自分で作った本体です。何を消していいかの仕分けは 初期設定の記事 の.gitignoreの考え方と同じです。
実際の上げ方
新しいバージョンのエンジンは、Epic Games Launcher の「Unreal Engine → ライブラリ」 から追加インストールします。古いバージョンを消す必要はありません。複数のバージョンを同時に入れておけます。
インストールできたら、複製したプロジェクトの .uproject ファイルを右クリックします。

メニューの Switch Unreal Engine Version を選ぶと、インストール済みのバージョン一覧が出ます。上げたいバージョンを選んでOKを押すと、.uproject の中に書かれているエンジンバージョンが書き換わります。
あとは通常どおり .uproject をダブルクリックして開くだけです。初回の起動はシェーダーの再コンパイルで時間がかかります(プロジェクトの規模によっては数十分)。ここで止まっているように見えても、進行状況が出ていれば待ってください。
もう1つの方法。 新しいバージョンのエディタでプロジェクトを開こうとすると、「コピーを作って開くか、変換するか」を聞かれることがあります。コピーを作るを選べば、複製と切り替えを同時にやってくれます。どちらの方法でも結果は同じです。
上げた直後に見る場所
開けたからといって、まだ終わりでは ありません。壊れていても、開くところまでは普通にできてしまいます。
見る場所は決まっています。

- Output Log(
ウィンドウ → Output Log)の Error と Warning — フィルタで絞り込んで、上から読みます。読み方は Print StringとOutput Log と同じです - プラグイン(
編集 → プラグイン)— 無効化されたものがないか。新バージョン未対応のプラグインは自動で無効になります - Blueprintのコンパイル —
アセット → 全Blueprintをコンパイルを実行し、エラーになるものがないか - 見た目 — レベルを開いて、マテリアルやライティングが以前と同じに見えるか
このうち 1と3が最重要です。ここで何も出なければ、たいていは無事に上がっています。
そして最後に、必ずPlayして一通り遊んでください。コンパイルが通ることと、ゲームが以前と同じように動くことは別の話です。
よくある壊れ方
上げたときに出る症状は、だいたい4種類に分けられます。
| 症状 | 原因 | 対処 |
|---|---|---|
| ノードが赤くなる /消えている | そのノードが 非推奨(Deprecated) になった | Output Logの警告に 代わりのノード名 が書かれていることが多い。差し替える |
| 機能がまるごと動かない | プラグインが 無効化された | プラグイン画面で状態を確認。未対応なら、対応版を待つか代替を探す |
| 見た目が変わった | レンダリング機能の既定値が変わった | プロジェクト設定のレンダリング項目を、前のバージョンの値と見比べる |
| C++がビルドできない | APIが変わった | エラーの行を見て、変わった関数名・引数に合わせる |
いちばん多いのは非推奨ノードです。UEは古いノードをすぐには消さず、まず「非推奨」として警告を出す期間を置きます。この段階で警告に従って差し替えておけば、次のバージョンで消えても困りません。
見た目が変わったときは、慌てて設定を戻さないでください。 新しい既定値のほうが正しいこともあります。まず「どこが変わったか」を特定し、意図的に戻すかどうかを判断してください。
実践:1バージョ ン上げて、直しきる
短編ホラーの試作、ローグライクの検証プロジェクト、ポートフォリオ用のショーケース。作りかけを1バージョン上げるという作業は、どんな規模でも手順は同じです。ここでは通しでやります。
準備するもの
上げる対象は、いま作っているプロジェクトで構いません。手元にない場合は、Third Personテンプレートで新規プロジェクトを作り、Blueprintを1つ足しておいてください(何もないプロジェクトだと壊れようがなく、練習になりません)。
| 用意するもの | 内容 |
|---|---|
| プロジェクト | Third Personテンプレート + 自作のBlueprintが1つ以上 |
| エンジン | 現在のバージョン + 1つ上のバージョン の両方をインストール済み |

手順
- コミットする(ソース管理を入れているなら)
- プロジェクトフォルダをまるごと複製し、名前を
MyGame_5xxのように上げ先のバージョンが分かる名前にする - 複製したフォルダの中の
Saved/Intermediate/DerivedDataCacheを削除する - 複製の
.uprojectを右クリック →Switch Unreal Engine Version→ 1つ上のバージョンを選ぶ .uprojectをダブルクリックして開く。シェーダーのコンパイルを待つ- Output Log を開き、フィルタで Error と Warning に絞って上から読む
アセット → 全Blueprintをコンパイルを実行し、エラーが出たBlueprintを開いて直す- Play して、以前と同じように遊べるか確認する
確かめる
うまくいっていれば、Output Logに Error が0件で、全Blueprintのコンパイルが通り、Playして以前と同じように動きます。テンプレートのキャラクターが走り、ジャンプでき、自作のBlueprintも以前どおり反応するはずです。
うまくいかないときの切り分けです。
- Blueprintに赤いノードがある → 非推奨ノードです。そのノードを選んでOutput Logの警告を読み、代わりのノードへ差し替えます
- 機能がまるごと反応しない →
編集 → プラグインで、そのプラグインが無効化されていないか確認します - どうにもならない → 複製フォルダを消してください。 元のプロジェクトは無傷です。もう少しバージョンが枯れてから再挑戦すれば構いません
開いた瞬間に落ちる場合は、原因が1つに絞れません。 上から順に見てください。
- ログを読む —
Saved/Logsの最新ファイルの 末尾 、そしてクラッシュレポーターに出ているメッセージ。 ここに答えが書いてあることが多い です - プラグインを疑う — 新バージョン未対応のプラグインが、起動時の初期化で落ちることがあります。
.uprojectをテキストエディタで開き、Pluginsの該当項目を一時的に無効("Enabled": false)にして切り分けます - C++プロジェクトならビルドを確認 — APIの変更でコンパイルが通っていない可能性があります。Visual Studioでビルドし、エラーを読みます
- キャッシュを消す —
Saved/Intermediate/DerivedDataCacheを消して開き直します(手順3を飛ばしていた場合は、ここで解決します) - アセットを切り分ける — それでも落ちるなら、
Contentの一部を別フォルダへ退避して、どのアセットが原因かを絞ります
いちばんやってはいけないのが、原因を推測して手当たり次第に試すことです。 ログの末尾を読むのが、いつでも最短です(→ Print StringとOutput Log)。
ポイントは2つです。
- 元のフォルダには一切触らない: 上げる作業は全部、複製の中で完結させます。これを守っている限り、最悪の結果が「時間を無駄にした」で止まります
- 上げたら遊ぶまでが1セット: コンパイルが通ることと、ゲームが以前と同じに動くことは別です。Playで一通り触るところまでを手順に含めてください
上げた後は、新しいバージョンでもう一度パッケージが通るかも確認しておくと安心です(→ パッケージ化とビルド)。
おまけ:先に知っておくと良いこと
飛ばさず1つずつ上げる。 2世代以上離れている場合、いきなり最新へ飛ばすこともできますが、壊れたときに「どのバージョンで壊れたか」が分からなくなります。1つ上げてPlayで確認、また1つ上げて確認、と刻むほうが、結果的に早く終わります。
複数バージョンを同時に入れておける。 エンジンは何世代でも共存できます(そのぶんディスクは食います)。古いバージョンをすぐ消さないでください。上げた先で問題が出たとき、古いほうで開き直して比べられます。
エンジンのソースビルドは別の話。 GitHubからエンジンのソースを取得してビルドしている場合、この記事の手順とは進め方が変わります。まずはLauncherから入れる通常版で運用するのが、個人開発では現実的です。
「バージョン差を先に疑う」は本当によく効く。 チュートリアルどおりにやったのにノードが見つからない、設定項目の場所が違う——こうしたときは、記事や動画が作られたバージョンと自分のバージョンの差がいちばんの容疑者です(→ 初心者ロードマップ)。
まとめ
バージョンアップで大事なことは、順番に並べるとこれだけです。
- 上げる理由がないなら上げない。リリース直後と制作終盤は避ける
- コミットして、複製する。上げるのは複製のほうだけ
Saved/Intermediate/DerivedDataCacheを消してから開く- Output Log の Error と Warning、全Blueprintのコンパイル、そしてPlay で確認する
- 駄目なら複製を消す。元は無傷
手順としては複製の一手間だけですが、これがあるだけで「試してみる」のハードルが一気に下がります。新しいバージョンで使ってみたい機能は、何かありますか。