UI Toolkit は、新しい UI 開発プロジェクト用の推奨 UI システムとなる予定です。ただし、現在のリリースでは、UI Toolkit は、Unity UI (uGUI) と Immediate Mode GUI (IMGUI) のサポートする一部の機能を搭載していません。uGUI と IMGUI は、特定のユースケースにより適しており、古いプロジェクトのサポートに必要です。
このページでは、UI Toolkit、uGUI、IMGUI のおおまかな機能比較と、UI デザインに関するそれぞれのアプローチの説明を提供します。
以下の表には、ランタイム用およびエディター用の、推奨システムと代替システムを掲載しています。
2021 | 推薦 | 代替 |
---|---|---|
ランタイム | Unity UI | UI Toolkit |
エディター | IMGUI | UI Toolkit |
チームのスキルセットや、各種の技術に対してどの程度馴染みがあるか (どの程度快適に使用できるか) も、重要な検討事項です。
以下の表には、役割別の推奨システムを記載しています。
役割 | UI Toolkit | Unity UI (uGUI) |
IMGUI | スキルセット |
---|---|---|---|---|
プログラマー | 推奨 | 推奨 | 推奨 | プログラマーは、あらゆるゲーム開発ツールや API を使用できます。 |
テクニカルアーティスト | 場合によって推奨 | 推奨 | 非推奨 | Unity のゲームオブジェクトベースのツールやワークフローに慣れているテクニカルアーティストは、ゲームオブジェクト、コンポーネント、シーンビューを使って快適に作業できるだろうと考えられます。 UI Toolkit のウェブに似たアプローチや、IMGUI の純粋な C# アプローチには馴染めないかもしれません。 |
UI デザイナー | 推奨 | 場合によって推奨 | 非推奨 | UI designers who are familiar with UI creation tools are likely to be comfortable with UI Toolkit’s document-based approach. If they are not familiar with GameObject-based workflows, they might require help from programmers or level designers. |
UI Toolkit は現在開発中であり、頻繁に新しい機能がリリースされます。Unity UI と IMGUI は、製品版での使用実績がある確立された UI システムで、頻繁な更新は行われません。
UI Toolkit でまだ利用できない機能が必要な場合や、古い UI コンテンツをサポートまたは再利用する必要がある場合は、uGUI や IMGUI の方が適しているかもしれません。
uGUI は、以下のようなケースに推奨されるソリューションです。
MonoBehaviours
から簡単に参照したい場合様々な画面解像度で実行されるスクリーンオーバーレイ UI を作成する場合、UI Toolkit を uGUIの代替として使用できます。以下のような場合は UI Toolkit を検討してください。
以下の表は、ランタイムでの主なユースケースにおける推奨システムを記載したものです。
2021 | 推薦 |
---|---|
UI を多用したプロジェクトにおけるマルチ解像度メニューや HUD | UI Toolkit |
ワールド空間の UI および VR | Unity UI |
カスタマイズされたシェーダーやマテリアルを必要とする UI | Unity UI |
以下の表は、具体的なランタイム機能に関して推奨されるシステムのリストです。
2021 | UI Toolkit | Unity UI |
---|---|---|
WYSIWYG での作成 | 推奨 | 推奨 |
再利用可能なコンポーネントのネスト | 推奨 | 推奨 |
グローバルなスタイル管理 | 推奨 | 非推奨 |
レイアウトおよびスタイルのデバッガー | 推奨 | 推奨 |
シーンのインテグレーション | 推奨 | 推奨 |
リッチテキストタグ | 推奨 | 推奨* |
スケーラブルなテキスト | 推奨 | 推奨* |
フォントのフォールバック | 推奨 | 推奨* |
適応するレイアウト | 推奨 | 推奨 |
Input system のサポート | 推奨 | 推奨 |
シリアル化されたイベント | 非推奨 | 推奨 |
ビジュアルスクリプティング のサポート | 非推奨 | 推奨 |
レンダリングパイプライン のサポート | 推奨 | 推奨 |
スクリーンスペース (2D) レンダリング | 推奨 | 推奨 |
ワールド空間 (3D) レンダリング | 非推奨 | 推奨 |
カスタムのマテリアルおよびシェーダー | 非推奨 | 推奨 |
スプライト /スプライトアトラス のサポート | 推奨 | 推奨 |
動的テクスチャーアトラス | 推奨 | 非推奨 |
テクスチャレス要素 | 推奨 | 非推奨 |
UI アンチエイリアス | 推奨 | 非推奨 |
矩形クリッピング | 推奨 | 推奨 |
マスククリッピング | 非推奨 | 推奨 |
マスキングのネスト | 推奨 | 推奨 |
UI 遷移アニメーション | 推奨 | 非推奨 |
アニメーションクリップおよび Timeline とのインテグレーション | 非推奨 | 推奨 |
*TextMesh Pro パッケージ が必要です。
IMGUI is the default solution for most use cases and is especially recommended for the following :
UI Toolkit is an alternative to IMGUI if you create complex editor tools. Consider UI Toolkit for the following:
次の表は、エディターでの主なユースケースに対する推奨システムのリストです。
2021 | 推薦 |
---|---|
複雑なエディタツール | UI Toolkit |
プロパティドロワー | IMGUI |
デザイナーとのコラボレーション | UI Toolkit |
次の表は、具体的なエディター機能に対して推奨されるシステムのリストです。
2021 | 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.