Version: 2023.2
言語: 日本語
ユーザーインターフェース (UI)
UI Toolkit

Unity の UI システムの比較

UI Toolkit は、新しい UI 開発プロジェクト用の推奨 UI システムとなる予定です。ただし、現在のリリースでは、UI Toolkit は、Unity UI (uGUI)Immediate Mode GUI (IMGUI) のサポートする一部の機能を搭載していません。uGUI と IMGUI は、特定のユースケースにより適しており、古いプロジェクトのサポートに必要です。

このページでは、UI Toolkit、uGUI、IMGUI のおおまかな機能比較と、UI デザインに関するそれぞれのアプローチの説明を提供します。

基本的な考慮事項

以下の表には、ランタイム用およびエディター用の、推奨システムと代替システムを掲載しています。

2022 推薦 代替
ランタイム 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 コンテンツをサポートまたは再利用する必要がある場合は、uGUI や IMGUI の方が適しているかもしれません。

ランタイム

uGUI は、以下のようなケースに推奨されるソリューションです。

  • 3D 世界に配置され、ライティングを受ける UI
  • カスタムのシェーダーとマテリアルを使用した VFX
  • MonoBehaviours から簡単に参照したい場合

様々な画面解像度で実行されるスクリーンオーバーレイ UI を作成する場合、UI Toolkit を uGUIの代替として使用できます。以下のような場合は UI Toolkit を検討してください。

  • ユーザーインターフェースを多用した作品を制作する場合
  • アーティストやデザイナーが慣れ親しんだ制作ワークフローが必要な場合
  • テクスチャレス UI レンダリングの使用を検討する場合

ユースケース

以下の表は、ランタイムでの主なユースケースにおける推奨システムを記載したものです。

2022 推薦
UI を多用したプロジェクトにおけるマルチ解像度メニューや HUD UI Toolkit
ワールド空間の UI および VR Unity UI
カスタマイズされたシェーダーやマテリアルを必要とする UI Unity UI

詳細

以下の表は、具体的なランタイム機能に関して推奨されるシステムのリストです。

2022 UI Toolkit Unity UI
WYSIWYG での作成 推奨 推奨
再利用可能なコンポーネントのネスト 推奨 推奨
グローバルなスタイル管理 推奨 非推奨
レイアウトおよびスタイルのデバッガー 推奨 推奨
シーンのインテグレーション 推奨 推奨
リッチテキストタグ 推奨 推奨*
スケーラブルなテキスト 推奨 推奨*
フォントのフォールバック 推奨 推奨*
適応するレイアウト 推奨 推奨
Input system のサポート 推奨 推奨
シリアル化されたイベント 非推奨 推奨
ビジュアルスクリプティング のサポート 非推奨 推奨
レンダリングパイプライン のサポート 推奨 推奨
スクリーンスペース (2D) レンダリング 推奨 推奨
ワールド空間 (3D) レンダリング 非推奨 推奨
カスタムのマテリアルおよびシェーダー 非推奨 推奨
スプライト /スプライトアトラス のサポート 推奨 推奨
動的テクスチャーアトラス 推奨 非推奨
テクスチャレス要素 推奨 非推奨
UI アンチエイリアス 推奨 非推奨
矩形クリッピング 推奨 推奨
マスククリッピング 非推奨 推奨
マスキングのネスト 推奨 推奨
UI 遷移アニメーション 推奨 非推奨
アニメーションクリップおよび Timeline とのインテグレーション 非推奨 推奨

*TextMesh Pro パッケージ が必要です。

エディター

複雑なエディターツールを作成する場合は UI Toolkit をお勧めします。UI Toolkit は、以下の理由からも推奨されます。

  • より高い再利用性と分離性
  • UI 作成のための視覚的ツール
  • コード管理とパフォーマンスにおける、より高いスケーラビリティ

IMGUI は、以下の機能を持ち、UI Toolkit の代替として使用できます。

  • エディター拡張機能への無制限アクセス
  • UI を素早く画面に描画する軽い API

ユースケース

次の表は、エディターでの主なユースケースに対する推奨システムのリストです。

2022 推薦
複雑なエディタツール UI Toolkit
プロパティドロワー UI Toolkit
デザイナーとのコラボレーション UI Toolkit

詳細

次の表は、具体的なエディター機能に対して推奨されるシステムのリストです。

2022 UI Toolkit IMGUI
WYSIWYG での作成 推奨 非推奨
再利用可能なコンポーネントのネスト 推奨 非推奨
グローバルなスタイル管理 推奨 推奨
レイアウトおよびスタイルのデバッガー 推奨 非推奨
リッチテキストタグ 推奨 推奨
スケーラブルなテキスト 推奨 非推奨
フォントのフォールバック 推奨 推奨
適応するレイアウト 推奨 推奨
デフォルトのインスペクター 推奨 推奨
Inspector: カスタムオブジェクトタイプの編集 推奨 推奨
Inspector: カスタムプロパティタイプの編集 推奨 推奨
Inspector: 混合した値 (マルチ編集) のサポート 推奨 推奨
配列とリストビューの制御 推奨 推奨
データバインディング: シリアル化されたプロパティ 推奨 推奨

その他の参考資料

ユーザーインターフェース (UI)
UI Toolkit