Unity には 3 つの UI システムが用意されており、Unity エディターや Unity エディターで作成したアプリケーションのユーザーインターフェース (UI) を作成するのに使用できます。
このページでは、それぞれの概要を説明します。
UI Toolkit は、Unity の最新の UI システムです。UI Toolkit は、プラットフォーム間でパフォーマンスを最適化するように設計されており、標準的なウェブ技術を基本としています。UI Toolkit を使用して、Unity エディターの拡張機能を作成する、またはゲームやアプリケーションのランタイム UI を作成することができます。
UI ツールキットには以下が含まれます。
Unity では、UI Toolkit を新しい UI 開発プロジェクトで推奨される UI システムにすることを目指していますが、Unity UI (uGUI) や IMGUI にあるいくつかの機能がまだ欠けています。
Unity ユーザーインターフェース (Unity UI) パッケージ (uGUI とも呼ばれます) は古いゲームオブジェクトベースの UI システムであり、ゲームやアプリケーションのランタイム UI を開発するために使用できます。Unity UI では、コンポーネントとゲームビューを使用して、ユーザーインターフェースの配置、位置、スタイルを設定します。Unity UI は、高度なレンダリングやテキスト機能をサポートしています。
詳しくは、マニュアル と API リファレンス を参照してください。
即時モードの GUI (Immediate Mode Graphical User Interface, IMGUI) はコードで操作される UI ツールキットで、OnGUI
関数とそれを実装するスクリプトを使用して、ユーザーインターフェースの描画と管理を行います。IMGUI を使って、スクリプトコンポーネント用のカスタムインスペクター、Unity エディター用の拡張機能、ゲーム内デバッグ表示などを作成することができます。ランタイム UI の構築には推奨されません。
Unity は、UI Toolkit が新しい UI 開発プロジェクトの推奨 UI システムになることを意図していますが、Unity UI (uGUI) や IMGUI にあるいくつかの機能がまだ欠けています。これらの古いシステムは、特定のユースケースでは優れており、古いプロジェクトをサポートするために必要です。
プロジェクトでどのような UI システムを選択するかは、開発を予定している UI の種類やサポートする機能によって異なります。
利用可能な UI システムの比較は、Unity の UI システムの比較 を参照してください。