UI Toolkit は、新しい UI 開発プロジェクトにおいて推奨される UI システムになることを意図しています。ただし現在のリリースでは、Unity UI (uGUI) と Immediate Mode GUI (IMGUI) でサポートされている一部の機能が UI Toolkit にはありません。uGUI と IMGUI は特定の用途に適しており、古い機能のプロジェクトのサポートにも必要です。
このページでは、UI Toolkit、Unity UI、IMGUI の大まかな機能比較と、それぞれの UI デザインへのアプローチについて説明します。
以下の表は、ランタイムとエディターの推奨システムと代替システムを示しています。
| Unity 6 | 推奨システム | 代替システム |
|---|---|---|
| ランタイム | Unity UI | UI Toolkit |
| エディター | UI Toolkit | IMGUI |
チームのスキルセットやさまざまなテクノロジーへの対応レベルも重要な検討事項です。
以下の表は、さまざまな役割で推奨されるシステムを示しています。
| 役割 | UI Toolkit | Unity UI (uGUI) |
IMGUI | スキルセット |
|---|---|---|---|---|
| プログラマー | はい | はい | はい | プログラマーは、あらゆるゲーム開発ツールや API を使用できます。 |
| テクニカルアーティスト | 部分的 | はい | いいえ | Unity のゲームオブジェクトベースのツールやワークフローに慣れているテクニカルアーティストは、ゲームオブジェクト、コンポーネント、シーンビューを使って快適に作業できると考えられます。 UI Toolkit のウェブに似たアプローチや、IMGUI の純粋な C# アプローチには馴染めないかもしれません。 |
| UI デザイナー | はい | 部分的 | いいえ | UI 作成ツールに精通している UI デザイナーは、UI Toolkit のドキュメントベースのアプローチに慣れており、UI Builder を使用して UI を視覚的に編集することができます。 ゲームオブジェクトのワークフローに慣れていない場合は、プログラマーやレベルデザイナーのサポートが必要な場合があります。 |
UI Toolkit は現在も活発に開発が進められており、頻繁に新機能をリリースしています。Unity UI と IMGUI は、本番環境で使用が可能な、すでに確立されている UI システムですが、あまり更新されていません。
UI Toolkit ではまだ利用できない機能が必要な場合や、古い UI コンテンツのサポートや再利用を計画している場合は、Unity UI や IMGUI の方が適しているかもしれません。
UI Toolkit は、さまざまな画面解像度で動作する画面オーバーレイ UI を作成する場合に Unity UI の代わりに使用できます。UI Toolkit は、以下のような場合に検討してください。
Unity UI は、以下に対して推奨されるソリューションです。
MonoBehaviours からの簡単な参照以下の表は、ランタイムの主なユースケースに推奨されるシステムを示しています。
| Unity 6 | 推奨システム |
|---|---|
| UI プロジェクトで集中的に利用されるマルチ解像度メニューと HUD | UI Toolkit |
| ワールド空間の UI と VR | Unity UI |
| カスタマイズされたシェーダーとマテリアルを必要とする UI | Unity UI |
以下の表に、詳細なランタイム機能について推奨されるシステムを示します。
| Unity 6 | UI Toolkit | Unity UI |
|---|---|---|
| WYSIWYG オーサリング | はい | はい |
| 再利用可能なコンポーネントのネスト | はい | はい |
| グローバルスタイル管理 | はい | いいえ |
| レイアウトとスタイリングデバッガー | はい | はい |
| シーンのインテグレーション | はい | はい |
| リッチテキストタグ | はい | 可 * |
| スケーラブルなテキスト | はい | 可 * |
| フォントのフォールバック | はい | 可 * |
| 適応型レイアウト | はい | はい |
| 入力システムのサポート | はい | はい |
| シリアル化されたイベント | いいえ | はい |
| Visual Scripting のサポート | いいえ | はい |
| レンダーパイプラインとの互換性 | はい | はい |
| スクリーンスペース (2D) レンダリング | はい | はい |
| ワールド空間 (3D) レンダリング | いいえ | はい |
| カスタムマテリアルとシェーダー | いいえ | はい |
| スプライト / スプライトアトラスのサポート | はい | はい |
| 動的テクスチャアトラス | はい | いいえ |
| テクスチャレス要素 | はい | いいえ |
| UI アンチエイリアス | はい | いいえ |
| 矩形クリッピング | はい | はい |
| マスククリッピング | いいえ | はい |
| ネスト状のマスキング | はい | はい |
| UI の遷移アニメーション | はい | いいえ |
| アニメーションクリップとタイムラインとのインテグレーション | いいえ | はい |
UI Toolkit は、複雑なエディターツールを作成する場合に推奨されます。また、以下の理由からも UI Toolkit をお勧めします。
IMGUI は、以下の点において UI Toolkit の代替になります。
以下の表は、エディターの主なユースケースに推奨されるシステムを示しています。
| Unity 6 | 推奨システム |
|---|---|
| 複合エディターツール | UI Toolkit |
| プロパティドロワー | UI Toolkit |
| デザイナーとのコラボレーション | UI Toolkit |
以下の表は、詳細なエディター機能に推奨されるシステムを一覧で示しています。
| Unity 6 | UI Toolkit | IMGUI |
|---|---|---|
| WYSIWYG オーサリング | はい | いいえ |
| 再利用可能なコンポーネントのネスト | はい | いいえ |
| グローバルスタイル管理 | はい | はい |
| レイアウトとスタイリングデバッガー | はい | いいえ |
| リッチテキストタグ | はい | はい |
| スケーラブルなテキスト | はい | いいえ |
| フォントのフォールバック | はい | はい |
| 適応型レイアウト | はい | はい |
| デフォルト Inspectors | はい | はい |
| Inspector: カスタムオブジェクトタイプの編集 | はい | はい |
| Inspector: カスタムプロパティタイプの編集 | はい | はい |
| Inspector: 混合値 (複数編集) のサポート | はい | はい |
| 配列とリストビューのコントロール | はい | はい |
| データバインディング: シリアル化されたプロパティ | はい | はい |