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 は、以下のようなケースに推奨されるソリューションです。
MonoBehaviours
から簡単に参照したい場合様々な画面解像度で実行されるスクリーンオーバーレイ UI を作成する場合、UI Toolkit を uGUIの代替として使用できます。以下のような場合は UI Toolkit を検討してください。
以下の表は、ランタイムでの主なユースケースにおける推奨システムを記載したものです。
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 は、以下の理由からも推奨されます。
IMGUI は、以下の機能を持ち、UI Toolkit の代替として使用できます。
次の表は、エディターでの主なユースケースに対する推奨システムのリストです。
2022 | 推薦 |
---|---|
複雑なエディタツール | UI Toolkit |
プロパティドロワー | UI Toolkit |
デザイナーとのコラボレーション | UI Toolkit |
次の表は、具体的なエディター機能に対して推奨されるシステムのリストです。
2022 | UI Toolkit | IMGUI |
---|---|---|
WYSIWYG での作成 | 推奨 | 非推奨 |
再利用可能なコンポーネントのネスト | 推奨 | 非推奨 |
グローバルなスタイル管理 | 推奨 | 推奨 |
レイアウトおよびスタイルのデバッガー | 推奨 | 非推奨 |
リッチテキストタグ | 推奨 | 推奨 |
スケーラブルなテキスト | 推奨 | 非推奨 |
フォントのフォールバック | 推奨 | 推奨 |
適応するレイアウト | 推奨 | 推奨 |
デフォルトのインスペクター | 推奨 | 推奨 |
Inspector: カスタムオブジェクトタイプの編集 | 推奨 | 推奨 |
Inspector: カスタムプロパティタイプの編集 | 推奨 | 推奨 |
Inspector: 混合した値 (マルチ編集) のサポート | 推奨 | 推奨 |
配列とリストビューの制御 | 推奨 | 推奨 |
データバインディング: シリアル化されたプロパティ | 推奨 | 推奨 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.