Version: 2020.3
Unity の UI システムの比較
UI Toolkit へのアクセス

UI Toolkit

UI Toolkit は、ユーザーインターフェース (UI) を開発するための機能、性能、リソース、ツールを集めたものです。UI Toolkit を使用して、Unity エディターのカスタム UI や拡張機能、ランタイムデバッグツール、ゲームやアプリケーションのランタイム UI を開発することができます。

UI Toolkit は、標準的なウェブ技術に触発されています。ウェブページやアプリケーションを開発した経験があれば、その知識の多くが転用可能で、コアとなるコンセプトの多くが馴染み深いものである可能性があります。

ノート:
Unity は一部の新しい UI 開発プロジェクトに UI Toolkit の使用を推奨していますが、Unity UI (uGUI) や IMGUI に備わっている機能がまだ不足しています。これらの古いシステムは、特定のユースケースに適しており、非推奨のプロジェクトをサポートするために必要となります。UI Toolkit ではなく古いシステムを選択することが適切な場合については、Unity の UI systems の比較 を参照してください。

UI Toolkit の概要

このセクションでは、以下をはじめとする UI Toolkit の主な機能、特徴、リソース、ツールについて簡単に説明します。

  • UI システム: ユーザーインターフェースを作成するために必要な中核となる特徴と機能を含んでいます。
  • UI アセット: 標準的なウェブフォーマットに触発されたアセットタイプです。UIの構成やスタイルに使用します。
  • ツールとリソース: インターフェースの作成とデバッグ、UI Toolkit の使用方法を学びます。

UI システム

UI Toolkit のコアは、認知されたウェブ技術に基づいた保持モードの UI システムです。スタイルシートや、動的でコンテキスト依存なイベント処理をサポートしいます。

UI システムには以下のような機能があります。

  • ビジュアルツリー: UI Toolkit で構築するすべてのユーザーインターフェースを定義します。ビジュアルツリーは、軽量ノードで構成されたオブジェクトグラフで、ウィンドウやパネル内のすべての要素を保持します。
  • コントロール: ボタン、ポップアップ、リストビュー、カラーピッカーなどの標準的な UI コントロールのライブラリです。そのまま使ったり、カスタマイズしたり、独自のコントロールを作成することができます。
  • データバインディングシステム: プロパティを、その値を変更するコントロールに紐づけます。
  • レイアウトエンジン: CSS Flexbox モデルに基づいたレイアウトシステムです。レイアウトやスタイリングのプロパティに基づいて要素を配置します。
  • イベントシステム: ユーザーのインタラクションを要素に伝達します。例えば、入力、タッチ、ポインターなどのインタラクション、ドラッグアンドドロップの操作やその他のイベントタイプがあります。このシステムには、ディスパッチャー、ハンドラー、シンセサイザー、イベントタイプのライブラリが含まれています。
  • UI レンダラー: Unity のグラフィックスデバイスレイヤーの上に直接構築されたレンダリングシステムです。
  • UI Toolkit ランタイムサポート (UI Toolkit パッケージ による): ランタイム UI の作成に必要なコンポーネントが含まれています。UI Toolkit パッケージは現在プレビュー版です。

UI アセット

UI Toolkit には以下のアセットタイプが用意されており、ウェブアプリケーションの開発と同じような方法でユーザーインターフェースを構築することができます。

  • UXML ドキュメント: Unity 拡張マークアップ言語 (UXML, Unity eXtensible Markup Language) は、HTML と XML に触発されたマークアップ言語で、ユーザーインターフェースの構造や再利用可能な UI テンプレートを定義するために使用されます。C# ファイルで直接インターフェースを構築することもできますが、Unity ではほとんどの場合、UXML ドキュメントの使用を推奨しています。
  • Unity スタイルシート (USS): スタイルシートを使うと、ユーザーインターフェースに視覚的なスタイルや動作を適用することができます。スタイルシートは、ウェブで使用されているカスケーディングスタイルシート (Cascading Style Sheets, CSS) に似ており、標準的な CSS プロパティのサブセットをサポートしています。C# ファイルで直接スタイルを適用することもできますが、Unity では USS ファイルの使用を推奨しています。

UI ツールとリソース

また、UI Toolkit には、UI の作成に役立つ以下のツールやリソースが含まれています。

  • UI デバッガー: UI デバッガーは、ウェブブラウザーのデバッグビューに似た診断ツールです。これを使って、要素の階層を探索し、その基礎となる UXML 構造や USS スタイルに関する情報を得ることができます。エディターでは、Window > UI Toolkit > Debugger で開くことができます。
  • UI Builder (パッケージ): UI Builder では、UXML や USS ファイルなどの UI Toolkit のアセットを視覚的に作成編集することができます。UI Builder パッケージは、現在プレビュー版です。Unity エディターの Package Manager ウィンドウ (Window > Package Manager) からインストールできます。
  • UI Samples: UI Toolkit には、UI コントロールのコードサンプルのライブラリが含まれており、エディターの Window > UI Toolkit > Samples で見ることができます。
Unity の UI システムの比較
UI Toolkit へのアクセス