概要
動作確認環境: Unity 2022.3 LTS / Unity 6
「プロジェクト作成時にどれを選べばいいの?」「URPとHDRPの違いがわからない…」「途中で変更できる?」
Unityでプロジェクトを始める際、レンダーパイプラインの選択で迷うことがあります。レンダーパイプライン は、Unityでグラフィックスをレンダリング(描画)する仕組みです。3D/2Dオブジェクトをどのように画面に表示するかを制御し、ライティング、シャドウ、ポストプロセッシングなどの処理を管理します。
カスタムSRP: Unityでは独自のレンダーパイプラインを構築することも可能(Scriptable Render Pipeline)ですが、上級者向けのため本記事では扱いません。
3種類のレンダーパイプライン
Unityには3種類のレンダーパイプラインがあります。
| パイプライン | 特徴 | 主な用途 |
|---|---|---|
| Built-in | 従来のデフォルト、シンプル | レガシープロジェクト、ゲームジャム |
| URP | 軽量・最適化、幅広い対応 | モバイル、VR、新規プロジェクト全般 |
| HDRP | ハイエンド、写実的表現 | AAAタイトル、建築ビジュアライゼーション |
比較表
表現力・パフォーマンス
| 項目 | Built-in | URP | HDRP |
|---|---|---|---|
| 表現力 | ○ | ○ | ◎(最高) |
| パフォーマンス | ○ | ◎(最軽量) | △(重い) |
| 新機能対応 | × | ○ | ○ |
プラットフォームサポート
| プラットフォーム | Built-in | URP | HDRP |
|---|---|---|---|
| Windows/Mac/Linux | ○ | ○ | ○ |
| iOS/Android | ○ | ○ | × |
| Switch | ○ | ○ | × |
| WebGL | ○ | ○ | × |
| PlayStation/Xbox | ○ | ○ | ○ |
| VR(デスクトップ) | ○ | ○ | ○ |
| VR(モバイル) | ○ | ○ | × |
Built-in Render Pipeline
特徴
Unityの従来からあるデフォルトのレンダーパイプラインです。
- シンプルで使いやすい
- 難しいことを考えなくても使える
- 古いアセットとの互換性が高い
- 長年使われてきた実績がある
- 新機能の追加予定はない
利点
- セットアップが不要
- 学習コストが低い
- 古いアセットがそのまま使える
- 情報が豊富
- トラブルシューティングが容易
欠点
- 描画が最適化されていない(Batchesが多い)
- VFX Graph、2Dライティングなどの新機能が使えない(Shader GraphはUnity 2021.2以降で対応するが、Lit Shader Graphは使用不可などの制限あり)
- URPに比べてパフォーマンスが劣る
適したプロジェクト
- ゲームジャムや試作(セットアップの手間を省きたい)
- 古いアセットを使う必要がある場合
- レガシープロジェクトのメンテナンス
Universal Render Pipeline(URP)
特徴
Built-inの後継として開発された新しいレンダーパイプラインです(旧称:LWRP)。
- あらゆるプラットフォームに対応
- 描画処理が軽量で最適化されている
- Shader Graph、VFX Graphなどの新機能が使える
- 2Dライティングが使える
- 今後のUnityの標準となる予定
2D vs 3Dテンプレート: 2DゲームでURPを使う場合、プロジェクト作成時に「2D (URP)」テンプレートを選択してください。2D Rendererが設定済みで、2Dライティングがすぐに使えます。
利点
- 描画処理が最も軽い(Batchesが少ない)
- モバイルからハイエンドPCまで幅広く対応
- 新機能が使える
- Built-inの多くの機能をカバー(ただしSurface Shaderは非対応)
- 今後も機能追加が継続される
- カスタマイズ可能(C#でレンダリングパスを追加)
Forward vs Forward+レンダリングパス
| パス | ライト数制限 | 対応バージョン |
|---|---|---|
| Forward | リアルタイムライト4つまで | Unity 2019以降 |
| Forward+ | 大幅に緩和(数百個対応) | Unity 2022.2以降 |
Forward+: 多数のライトを使用するシーンで有効です。URP Renderer Dataの「Rendering Path」で切り替え可能。
欠点
- Built-inからの移行に手間がかかる
- 古いアセットの互換性に問題がある場合がある
- セットアップが必要
- Surface Shaderが使えない - カスタムシェーダーの書き換えが必要な場合がある
適したプロジェクト
- スマホゲーム
- VRゲーム
- 2Dゲーム
- パフォーマンスを重視するプロジェクト
- 幅広いプラットフォームに対応したいプロジェクト
- 新規プロジェクト全般
High Definition Render Pipeline(HDRP)
特徴
ハイエンドなグラフィックスに特化したレンダーパイプラインです。
- AAAタイトル並みの写実的な表現が可能
- 物理ベースレンダリング(PBR)
- 物理ベースのライティング(Physical Light Units)
- 物理カメラ(現実のカメラと同じ単位)
- 高度なマテリアル表現
- ボリュームレンダリング、レイトレーシング対応
利点
- 最高品質のグラフィックス
- 写実的な表現が可能
- 現実の単位が使える(物理ベース)
- レイトレーシング
欠点
- 処理負荷が高い
- ハイエンドPCまたはコンソールが必要
- モバイル、Switch、WebGLは非対応
- セットアップが複雑、学習コストが高い
- 物理法則への理解が必要
適したプロジェクト
- AAAタイトル並みの写実的な3D表現が必要なゲーム
- ハイエンドPC向けゲーム
- 建築ビジュアライゼーション
- 映像制作
選び方のガイドライン
URPを選ぶべき場合
- スマホゲームを作る
- VRゲームを作る
- パフォーマンスを重視する
- 幅広いプラットフォームに対応したい
- 新機能を使いたい
- 迷ったらとりあえずURP
HDRPを選ぶべき場合
- AAAタイトル並みの写実的な表現が必要
- ハイエンドPC、コンソール専用
- 建築ビジュアライゼーション
- 映像制作
Built-inを選ぶべき場合
- ゲームジャムや試作(セットアップの手間を省きたい)
- 古いアセットを使う必要がある
- レガシープロジェクトのメンテナンス
機能比較
シェーダー
| 機能 | Built-in | URP | HDRP |
|---|---|---|---|
| Shader Graph | △(2021.2以降、制限あり) | ○ | ○ |
| Surface Shader | ○ | × | × |
Built-inのShader Graph制限: Unity 2021.2以降でBuilt-in RPでもShader Graphが使えますが、Lit Shader Graphは使用不可 です。Unlitのみ対応のため、ライティング対応シェーダーはHLSLで書く必要があります。
その他の機能
| 機能 | Built-in | URP | HDRP |
|---|---|---|---|
| VFX Graph | × | ○ | ○ |
| 2D Lighting | × | ○ | × |
| Volumetric Fog | × | × | ○ |
| レイトレーシング | × | × | ○ |
| Decals | × | ○ | ○ |
移行について
Built-inからURPへの移行
Render Pipeline Converterの使い方
Window > Rendering > Render Pipeline Converterを開く- 左側で変換元(Built-in)と変換先(URP)を選択
- 変換項目にチェック:
- Material Upgrade: マテリアルをURP対応に変換
- Animation Clip Converter: アニメーションクリップを変換
- Read-only Material Converter: パッケージ内マテリアルを変換
- Initialize Converters をクリック
- 変換対象を確認し、Convert Assets をクリック
移行後の調整
- マテリアルを変換(Render Pipeline Converter)
- ライティングを調整(明るさが変わることがある)
- ポストプロセッシングを再設定(VolumeベースのURPポストプロセッシングに)
- カスタムシェーダーを書き換え(必要な場合)
移行の注意点
- 一部のアセットは互換性がない
- カスタムシェーダーは書き換えが必要
- ライティングの見た目が変わる可能性がある
- パフォーマンスを再測定する必要がある
プロジェクトの規模と残り期間を考慮して判断してください。 大規模プロジェクトで期限が近い場合は移行しない方が無難です。
Unity 6(2025)の変更: Unity 6ではURPでRender Graphがデフォルトで有効になります。ただし、Compatibility Mode を使用することで従来のRenderer Featureも動作可能です。移行期間中はCompatibility Modeを活用し、 段階的にRender Graph対応に移行することを推奨します。
まとめ
Unityには3種類のレンダーパイプラインがあります。
| パイプライン | 一言で言うと |
|---|---|
| Built-in | 従来のデフォルト、シンプルだが新機能なし |
| URP | 軽量・最適化、あらゆるプラットフォーム対応 |
| HDRP | ハイエンド向け、写実的表現、処理負荷高い |
新規プロジェクトでは、基本的にURPを選ぶのが無難です。迷ったらURP。
写実的な表現が必要でハイエンド専用ならHDRP、ゲームジャムや試作でセットアップの手間を省きたい場合はBuilt-inも選択肢になります。
次に読む記事
- URPを選んだら → ポストプロセッシング入門でBloomやColor Gradingを設定
- シェーダーを作りたい → Shader Graph入門でノードベースのシェーダー作成