Version: 2020.1
Unity の UI システムの比較
The UI Toolkit Package

UI Toolkit

Unity’s UI Toolkit is a collection of features, functionality, resources and tools for developing user interfaces (UI). You can use UI Toolkit to develop custom UI and extensions for the Unity Editor, runtime debugging tools, and runtime UI for games and applications.

UI Toolkit is based on, and inspired by, standard web technologies. If you have experience developing web pages or applications, much of your knowledge might be transferable, and many of the core concepts might be familiar.

Although Unity recommends using UI Toolkit for some new UI development projects, it is still missing features found in Unity UI (uGUI) and IMGUI. These older systems are more appropriate for certain use cases, and are required to support legacy projects. For information about when it is appropriate to choose an older system instead of the UI Toolkit, see the Comparison of UI systems in Unity.

UI Toolkit の概要

This section provides a short description of the major UI Toolkit features, functionality, resources and tools, including:

  • The UI system that contains the core features and functionality required to create user interfaces.
  • UI Assets asset types inspired by standard web formats. Use them to structure and style UI.
  • Tools and resources for creating and debugging your interfaces, and learning to use UI toolkit.

UI システム

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

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

  • Visual tree: Defines every user interface you build with the UI Toolkit. A visual tree is an object graph, made of lightweight nodes, that holds all the elements in a window or panel.
  • コントロール: ボタン、ポップアップ、リストビュー、カラーピッカーなどの標準的な UI コントロールのライブラリです。そのまま使ったり、カスタマイズしたり、独自のコントロールを作成することができます。
  • データバインディングシステム: プロパティを、その値を変更するコントロールに紐づけます。
  • レイアウトエンジン: CSS Flexbox モデルに基づいたレイアウトシステムです。レイアウトやスタイリングのプロパティに基づいて要素を配置します。
  • イベントシステム: ユーザーのインタラクションを要素に伝達します。例えば、入力、タッチ、ポインターなどのインタラクション、ドラッグアンドドロップの操作やその他のイベントタイプがあります。このシステムには、ディスパッチャー、ハンドラー、シンセサイザー、イベントタイプのライブラリが含まれています。
  • UI レンダラー: Unity のグラフィックスデバイスレイヤーの上に直接構築されたレンダリングシステムです。
  • UI Toolkit Runtime Support (via the UI Toolkit package): Contains the components required to create runtime UI. The UI Toolkit package is currently in preview.

UI アセット

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

  • UXML ドキュメント: Unity 拡張マークアップ言語 (UXML, Unity eXtensible Markup Language) は、HTML と XML に触発されたマークアップ言語で、ユーザーインターフェースの構造や再利用可能な UI テンプレートを定義するために使用されます。C# ファイルで直接インターフェースを構築することもできますが、Unity ではほとんどの場合、UXML ドキュメントの使用を推奨しています。
  • Unity Style Sheets (USS): Style sheets allow you to apply visual styles and behaviors to user interfaces. They are similar to Cascading Style Sheets (CSS) used on the web, and support a subset of standard CSS properties. Although you can apply styles directly in C# files, Unity recommends using USS files in most cases.

UI ツールとリソース

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

  • UI Debugger: The UI debugger (menu: Window > UI Toolkit > Debugger) a diagnostic tool similar to a web browser’s debugging view. Use it to explore a hierarchy of elements and get information about its underlying UXML structure and USS styles.
  • UI Builder (package): The UI Builder lets you visually create and edit UI Toolkit assets such as UXML and USS files. The UI Builder package is currently in preview. You can install it from the Package Manager window in the Unity Editor (menu: Window > Package Manager).
  • UI Samples: The UI Toolkit includes a library of code samples for UI controls that you can view in the Editor (menu: Window > UI Toolkit > Samples).

  • 2019–02–22 修正されたページ
  • 2020–02–19 修正されたページ
  • 2020–06–03 修正されたページ
Unity の UI システムの比較
The UI Toolkit Package