※本ページにはプロモーション(広告)が含まれています
【2026年最新版】Unreal Engine 5のシェーダーコンパイルが終わらない原因と対処法【完全ガイド】
この記事でわかること:
Unreal Engine 5でシェーダーコンパイルが長時間止まる・進まない場合の原因特定方法、段階的な対処法、システム環境の最適化方法をこの記事で完全解説しています。
初心者向けの基本から上級者向けの詳細設定まで、あらゆるシェーダーコンパイル問題に対応できるようにまとめました。
この記事に関連するおすすめ商品
NVMe SSD 2TB PCIe 4.0
約15,800円
読取7000MB/s・UE5開発に最適
DDR5 メモリ 32GB×2枚
約18,900円
大規模プロジェクト向け
※ 価格は変動します。最新価格はリンク先でご確認ください
リード文
Unreal Engine 5(UE5)を使用している際に、シェーダーコンパイルが終わらないという問題に直面したことはありませんか?
これは多くのゲーム開発者が経験する悩ましい問題です。
プロジェクト起動時、マテリアル編集後、ビルド時など、様々な場面でシェーダーコンパイルが進まなくなることがあります。
シェーダーコンパイルが停止する原因は多岐にわたります。
システムのリソース不足、キャッシュの破損、互換性の問題、設定の最適化不足など、複数の要因が考えられます。
原因を正確に特定しなければ、試行錯誤が続き、開発スケジュールに大きな影響を与える恐れもあります。
この記事では、UE5のシェーダーコンパイル問題の原因を体系的に解説し、
段階的な対処法を紹介します。
初心者でも実践できる基本的な対処法から、
上級者向けの詳細な設定最適化まで、包括的にカバーしています。
この完全ガイドを参考に、シェーダーコンパイル問題をスムーズに解決してください。
シェーダーコンパイルが進まない、止まる原因
Unreal Engine 5でシェーダーコンパイルが終わらない主な原因を整理しました。
以下の表で、症状ごとの原因と対処の優先順位をまとめています。
| 症状 | 最も可能性の高い原因 | 対処の優先順位 |
|---|---|---|
| 起動直後から長時間(数時間以上)コンパイル中のまま | キャッシュの破損、GPU互換性の問題 | 高(最初に確認) |
| マテリアル編集後、特定のマテリアルのコンパイルが止まる | 複雑なマテリアルネットワーク、循環参照 | 中(プロジェクト確認後) |
| ビルド時のみコンパイルが長時間かかる | RAM不足、CPU使用率が高い、HDD速度の問題 | 高(システムリソース確認) |
| GPU関連のエラーメッセージが出てコンパイル停止 | ドライバの問題、GPU互換性の不足 | 高(ドライバ更新を即実施) |
| 時間がかかるが最終的にコンパイル完了する | マテリアルの複雑度が高い(正常動作) | 低(様子を見てOK) |

基礎知識:Unreal Engine 5のシェーダーコンパイルとは
シェーダーコンパイルについて理解することで、問題の原因をより深く認識できます。
Unreal Engine 5でのシェーダーコンパイルプロセスを簡潔に解説します。
シェーダーコンパイルの流れ
Unreal Engine 5では、以下の流れでシェーダーコンパイルが実行されます:
- マテリアルノードの構築:マテリアルエディタで作成したノードグラフが解析される
- HLSL/GLS言語への変換:ノードグラフが低レベルシェーダー言語に変換される
- GPU固有のコンパイル:NVIDIA・AMD・インテル各GPUのドライバがコンパイルを実行
- バイナリの生成・キャッシュ保存:コンパイル結果がメモリおよびディスクに保存される
この4段階のうち、ステップ3(GPU固有のコンパイル)が最も時間がかかり、かつ問題が起こりやすいステップです。
なぜシェーダーコンパイルが止まるのか
シェーダーコンパイルが止まる根本原因は、以下のいずれかです:
- リソース枯渇:CPU、メモリ、またはGPUメモリが不足し、コンパイルプロセスが中断する
- ドライバ間の不整合:GPUドライバがUE5のコンパイル要求に対応できない
- キャッシュ破損:前回のコンパイル結果が破損し、新規コンパイルが失敗する
- 無限ループ:マテリアルに循環参照があり、コンパイラが終了できない
- I/O遅延:ハードドライブやSSDの速度が低下し、キャッシュ書き込みが遅延する
シェーダーコンパイルが止まった時の段階的対処法

Step 1:システムリソースの確認(最初に必ず実施)
シェーダーコンパイルが止まる場合、まずシステムのリソース状況を確認します。
以下の手順でチェックしてください。
Windows 11/10の場合:
- Ctrl+Shift+Esc キーを押してタスクマネージャーを開く
- 「パフォーマンス」タブをクリック
- 以下の項目を確認:
- CPU使用率:80%以上が継続している場合は、他のアプリケーションを終了
- メモリ使用率:75%以上の場合、システムメモリが不足している
- GPU メモリ:NVIDIA GPUの場合、「GPU」タブでGPUメモリ使用率を確認
- ディスク使用率:100%に近い場合、I/Oが完全に飽和している
Mac OS の場合:
- Spotlight(Cmd+Space)で「アクティビティモニタ」を検索・起動
- 「CPU」タブでプロセッサ使用率を確認
- 「メモリ」タブでメモリ圧力を確認(黄色または赤い場合は不足)
- 「ディスク」タブで読み込み/書き込み速度を確認
リソース不足が原因の場合、以下の対処法を実施します:
- Chrome、Slack、Discord など、メモリを消費するアプリを終了
- 不要なバックグラウンドプロセスを停止(OneDrive、Dropbox など)
- UE5を再起動してメモリをクリア
- ハードドライブの空き容量を確保(最低20GB推奨)
Step 2:キャッシュの削除と再構築
キャッシュの破損が原因の場合、以下の手順で対処します。
Unreal Engine 5のシェーダーキャッシュをクリアする:
- Unreal Engine 5を完全に終了
- ファイルエクスプローラ(Windows)またはFinder(Mac)を開く
- 以下のパスに移動:
- Windows: `C:\Users\[ユーザー名]\AppData\Local\UnrealEngine\Engine\DerivedDataCache`
- Mac: `~/Library/Application Support/Epic Games/UnrealEngine/DerivedDataCache`
- このフォルダ内のすべてのファイルを削除
- プロジェクトフォルダの以下の場所もクリア:
- 「Binaries」「Intermediate」「Saved」フォルダを削除
- 「.sln」ファイルも削除(Visual Studioソリューションファイル)
- Unreal Engine 5を再起動し、プロジェクトを開く
- プロジェクトがキャッシュを再構築するまで待機(最初は時間がかかります)
キャッシュ削除後は、初回起動時に完全再コンパイルが実行されるため、数時間の時間が必要になる場合があります。
これは正常な動作です。
Step 3:GPU ドライバの更新
GPU ドライバが古いバージョンの場合、シェーダーコンパイル時に問題が発生することがあります。
必ずドライバを最新バージョンに更新してください。
NVIDIA GPU の場合:
- NVIDIA の公式サイト(https://www.nvidia.com/Download/driverDetails.aspx)にアクセス
- GPU モデルと OS を選択
- 最新のドライバをダウンロード・インストール
- インストール後、PC を再起動
AMD GPU の場合:
- AMD 公式サイト(https://www.amd.com/en/support)にアクセス
- GPU モデルを選択
- 最新の Adrenalin ドライバをダウンロード
- インストール手順に従い、再起動
Intel GPU(統合グラフィックス)の場合:
- Intel Arc Control(NVIDIA や AMD の管理ツール相当)をインストール
- 最新のドライバに自動更新
- または Intel 公式サイトから手動ダウンロード
Step 4:マテリアルの複雑度を確認・簡素化
特定のマテリアルのコンパイルが止まる場合、そのマテリアルの複雑度が高すぎる可能性があります。
マテリアルの複雑度を確認する:
- 問題のマテリアルをエディタで開く
- 「詳細」パネルの「マテリアル」セクションを確認
- 「Instruction Count」の値を確認(ノードの処理数)
- 値が 100,000 を超える場合は、マテリアルが複雑すぎます
マテリアルを簡素化する手順:
- 不要なノード接続を削除
- 複雑な計算を Texture Sampling に置き換える
- 複数のマテリアルに分割(子マテリアルを作成)
- Material Function を使用して、再利用可能なコンポーネント化
Step 5:プロジェクト設定の最適化
Unreal Engine 5 の設定を調整することで、シェーダーコンパイル時間を短縮できます。
シェーダーコンパイルの並列度を調整:
- Unreal Engine 5 を起動し、「Edit」→「Project Settings」を開く
- 検索ボックスで「Shader」と入力
- 「Rendering」セクションの「Shader Compiler」を確認
- 「Max Shader Compiler Threads」を調整:
- CPU コア数が 8 未満:2 〜 4 に設定
- CPU コア数が 8 〜 16:4 〜 8 に設定
- CPU コア数が 16 以上:8 〜 12 に設定
- 設定を保存して、エディタを再起動
シェーダーコンパイルの最適化(高度な設定):
- Project Settings で「Shader」を検索
- 「Rendering」→「Global Shader」セクションを確認
- 以下の項目を調整:
- 「Compile All Global Shaders At Startup」:OFF に設定(不要なシェーダー先読みを回避)
- 「Use Unique Cache Key」:ON に設定(キャッシュの一貫性を確保)
- 「Target Hardware」を確認し、不要なプラットフォーム対応を削除
Step 6:XGE(Distributed Compilation)の有効化
複数 PC を使用している環境では、XGE(eXtreme Game Engine)を使用した分散コンパイルが有効です。
XGE の有効化手順:
- Incredibuild の公式サイトから XGE をダウンロード・インストール
- Project Settings → Rendering → Shader Compiler を開く
- 「Enable XGE Shader Compilation」を ON に設定
- 「XGE Coordinator」に XGE マシンの IP アドレスを入力
- 複数マシンを接続すれば、シェーダーコンパイルを分散実行

シェーダーコンパイルが止まる場合の詳細トラブルシューティング
GPU 関連エラーが出ている場合
「GPU out of memory」「Shader compilation failed」などのエラーが表示される場合:
- GPU メモリが限界に達しているため、他のアプリケーションを終了
- ドライバを最新版に更新(Step 3 参照)
- GPU ドライバをリセット:
- NVIDIA:コントロールパネル → グローバル設定をリセット
- AMD:Radeon Settings → ファクトリーリセット
- それでも解決しない場合、GPU ハードウェアの故障が考えられるため修理を検討
循環参照が疑われる場合
マテリアルが自分自身を参照する構造になっている場合、コンパイルが無限ループになります。
- マテリアルエディタで全ノードを確認
- 参照ノード(Material Function など)をダブルクリックして参照元を追跡
- 自己参照している箇所を削除または修正
- 不確かな場合は、該当マテリアルを新規作成し直すことが確実
ネットワークドライブにプロジェクトがある場合
社内ネットワークドライブやクラウドストレージにプロジェクトが保存されている場合、
コンパイル速度が大幅に低下する可能性があります。
- プロジェクトをローカルドライブ(C: ドライブ)にコピー
- ローカルで開発を続行
- 完成後、ネットワークドライブにアップロード
シェーダーコンパイルの最適化:設定比較表
| 設定項目 | 推奨値 | 効果 |
|---|---|---|
| Max Shader Compiler Threads | CPU コア数の 50% | 並列コンパイル効率化 |
| Compile All Global Shaders At Startup | OFF | 起動時間短縮 |
| Use Unique Cache Key | ON | キャッシュ信頼性向上 |
| Enable XGE Compilation | ON(複数 PC 環境) | 分散コンパイル、時間短縮 |
| Shader Cache Directory | SSD のローカルパス | キャッシュアクセス高速化 |
よくある質問(FAQ)
Q1: シェーダーコンパイルにどのくらい時間がかかるのが正常ですか?
A: シェーダーコンパイル時間はプロジェクト規模に依存します:
- 小規模プロジェクト(10 個以下のマテリアル):5 〜 10 分
- 中規模プロジェクト(50 個程度のマテリアル):30 〜 60 分
- 大規模プロジェクト(100 個以上のマテリアル):2 〜 4 時間
これより著しく時間がかかる場合は、この記事の対処法を実施してください。
Q2: 「Shader Compilation Failed」エラーが出て投稿できません
A: 以下の順で対処してください:
- キャッシュをクリア(Step 2)
- GPU ドライバを更新(Step 3)
- 問題のマテリアルを単体で再コンパイル
- それでも解決しない場合、マテリアルを再作成
Q3: 起動するたびにシェーダーコンパイルが実行されるのは何故ですか?
A: 以下の原因が考えられます:
- キャッシュが破損している → キャッシュ削除実施
- GPU ドライバが自動更新された → ドライバが新しい場合、互換性シェーダー再作成が必要
- IDE の再コンパイルオプションが有効 → Project Settings で確認・無効化
Q4: マテリアルプレビューは表示されますが、エディタ起動時のシェーダーコンパイルが進まないです
A: 以下の対処法を試してください:
- Editor Preferences → Performance → Enable Real Time Rendering を OFF にする
- 不要なビューポート表示を無効化
- GPU メモリのクロック速度が低下していないか確認(タスクマネージャー)
Q5: ビルド時だけシェーダーコンパイルが遅いです
A: ビルド時は全プラットフォーム対応のシェーダーをコンパイルするため遅くなります。
- Project Settings → Supported Platforms で、不要なプラットフォーム(例:Linux)を削除
- XGE を有効化(Step 6)
- ビルド前に不要なシェーダーをプリコンパイル
Q6: Mac 版 UE5 でシェーダーコンパイルが特に遅い場合は?
A: Mac 版は Metal シェーダー言語を使用するため、Windows より遅くなるのが一般的です。
- Project Settings → Rendering → Metal で「Enable Metal Forward Rendering」を OFF
- キャッシュサイズを制限(~/Library/Caches をクリア)
- Apple Silicon Mac 使用時は、Rosetta 互換モードが有効になっていないか確認
Q7: SSD 容量が限界に達している場合、何を削除すればいいですか?
A: 以下の優先順位で削除してください:
- Binaries および Intermediate フォルダ(各数GB、再生成可能)
- Saved フォルダ内の不要なログ・キャッシュ
- Unreal Engine インストールフォルダの不要なプラットフォーム用データ
- Windows or Mac の一般的な一時ファイル(%TEMP% など)
Q8: リモートデスクトップ経由で UE5 を使用している場合、シェーダーコンパイルが止まるのは何故ですか?
A: リモート接続でのグラフィックス処理は大幅に低下します。
- ローカルマシンで開発することを推奨
- やむを得ない場合、リモートデスクトップ接続時の圧縮レベルを「低」に設定
- GPU リソースはローカルマシンのものが使用されるため、リモート接続でも GPU 設定は有効
Q9: Unreal Engine 5.4 以降で新しいシェーダーコンパイラ(Nanite など)を使用している場合の注意点は?
A: 新しいシェーダーコンパイラは高速ですが、以下に注意:
- GPU メモリ要件が増加(最低 6GB 推奨)
- 初回コンパイル時はキャッシュ構築に長時間が必要
- 旧バージョン UE4 プロジェクトからの移行時、互換性シェーダーが再作成される
- Settings → Advanced で「Use Legacy Shader Compiler」を ON でビンテージ設定に戻すことも可能
Q10: 複数チーム メンバーで同じプロジェクトを開発している場合、シェーダーキャッシュを共有できますか?
A: 条件付きで共有可能です。
- 全メンバーが同じ GPU(NVIDIA など)を使用している場合、DerivedDataCache フォルダを P2P 共有ドライブで共有可能
- 異なる GPU を使用している場合、共有すると互換性エラーが出るため、各自ローカル生成を推奨
- Perforce P4 などのバージョン管理で DerivedDataCache を除外設定(.p4ignore)し、各自生成
まとめ
Unreal Engine 5 でシェーダーコンパイルが止まる原因は多岐にわたりますが、
この記事で紹介した段階的な対処法を実施することで、ほとんどの場合が解決します。
重要なポイントをまとめます:
- 優先順位1:システムリソース確認 + キャッシュ削除 + ドライバ更新
- 優先順位2:プロジェクト設定の最適化
- 優先順位3:マテリアルの複雑度確認・簡素化
- 優先順位4:分散コンパイル(XGE)の導入
シェーダーコンパイル問題を解決して、スムーズな開発環境を構築してください。
定期的なメンテナンス(月 1 回程度のキャッシュクリア、ドライバ更新)を心がけることで、
今後同様の問題を予防できます。
不明な点や追加の問題が発生した場合は、
Unreal Engine の公式フォーラムや Discord コミュニティで質問することをお勧めします。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!