Version: 2023.2
言語: 日本語
USS 変数の作成
USS built-in variable references

USS ビルトイン変数入門

USS ビルトイン 変数 は、エディターとランタイム UI のデフォルト値を指定します。 これらの変数を独自の USS で使用して、カスタムインターフェースを Unity スタイルに一致させることができます。

各ビルトイン変数の名前は、その変数がどこでどのように使われるかを示します。変数名はハイフンで区切られた 1 つ以上の部分で構成されます。各部分はアンダースコアで区切られた 1 つ以上の単語で構成されます。

--unity-{group}-{role_and_control}-{sub_element}-{pseudo_state_sequence}

名前の各部分は、その変数を使用する USS 規則のタイプを示します。

  • Group (グループ): 変数が表すデータの種類。
  • Role/Control (ロールとコントロール): 変数が影響を与える要素の概念的なグループ。
  • Sub-Element (補助要素): 変数が影響を与える要素またはコントロール。
  • Pseudo States (疑似状態): Unity がその変数を使用する状態のリスト。

例えば、変数名は以下のようになります。

--unity-colors-button-text-hover

Unity が変数をどのように使用するかについては、以下の通りです。

意味
グループ colors カラーデータを表します。
ロール/コントロール button ボタンに影響します。
補助要素 text テキストに影響を与えます。その groupcolors であるため、テキストの色に影響を与えます。 
疑似状態 hover 要素の上にマウスオーバーすると、要素に適用されます。

この USS ビルトイン変数は、ユーザーがボタンの上にマウスオーバーすると、ボタンのテキストの色を変更します。 

グループ

グループは、その変数がどのようなデータを表しているかを指定します。各グループには、いくつかの可能な 補助要素 があります。 

変数名には以下のグループがあります。 

グループ 用途
colors background-colorborder-color などの色のプロパティ。
metrics 寸法や形状を制御するプロパティ。例えば、 border-radiusborder-widthmarginpadding
icons 標準的な Unity のアイコン画像。

ロールとコントロール

ロールとコントロールは、概念的に要素をグループ化する 2 つの方法です。

  • ロール は、各要素がどのタイプであるかに関わらず、同じ目的を持つ要素のグループを指します。例えば、error ロールには、ユーザーにエラーメッセージを表示することに関係あるすべての要素が含まれます。
  • コントロール は、何をするかに関わらず、同じタイプの要素のグループを指します。例えば、buttons は、エディターのすべてのボタンを含みます。

各変数にはロールかコントロールがあります。

変数名には、以下のようなロールやコントロールがあります。

ロール

ロール 説明 
default 文字色、背景、余白などのデフォルトのスタイル設定。
alternated_rows 表形式のデータを交互に行の色を変えて表示する要素。例えば、リストビューのリストアイテムなど。
error エラーの状態をユーザーに伝えるための要素。
highlight UI のハイライト部分。例えば、テキストの選択部分や、ツリービューでの選択項目など。
link UI のパーツ (通常はテキスト) でクリックできるリンク。これは、クリックされていない状態です。
play_mode エディターが再生モードのときに表示される要素。
visited_link UI のパーツ (通常はテキスト) でクリックできるリンク。これは、クリックされていない状態です。
warning ユーザーに警告メッセージを伝えるための要素。

コントロール

コントロール 説明 
app_toolbar Unity のメインツールバー
app_toolbar_button Unity のメインツールバーのボタン
box Editor UI で要素をグループ化するためのボックス
button ツールバーを除く UI のボタン
dropdown ドロップダウンリストやメニュー
helpbox ヘルプ情報を表示するボックス
input_field テキストや数値を入力するフィールド
label エディター UI のテキストラベル
object_field オブジェクトの値に使用されるフィールド。例えば、ゲームオブジェクトやアセットのプロパティ値など。
popup ポップアップメニューなどのポップアップコントロール
preview プレビューを表示するためのビュー。例えば、メッシュやテクスチャなどのアセットのプレビューを表示します。
scrollbar_groove ユーザーがスクロールバーのつまみをドラッグするスクロールバーの背景要素
scrollbar_thumb スクロールバーのドラッグ可能なハンドル要素
slider_groove ユーザーがスライダーのつまみをドラッグする際のスライダーの背景要素
slider_thumb スライダーのドラッグ可能なハンドル要素
slider_thumb_halo ユーザーがスライダーのサムをドラッグしたときに、サムの周囲に表示されるオーバーレイ
tab タブコントロールのタブアイテム
toolbar Unity のメインツールバー (app_toolbar) 以外のエディターツールバー
toolbar_button エディターツールバーのボタン
window エディターウィンドウ

補助要素

補助要素とは、変数が影響を与える要素の一部です。変数の group と合わせて、補助要素はその変数がどのようなデータを表しているかを表示します。

例えば、変数名に colors グループと text サブ要素が付いている場合です。これは、Unity がテキストの色に影響を与えるスタイルでその変数を使用することを意味します。

変数名には、以下の補助要素があります。

グループ 補助要素 説明 
colors
background 要素の背景色
border 要素の境界色
border_accent 要素の内側の境界線の色を表します。たとえば、Inspector ウィンドウには、ツートンカラーの境界線があります。
text テキストを表示する要素の文字色
metrics
margin_{left, top, right, bottom} 要素のマージン値
padding_{left, top, right, bottom} 要素のパディング値
border_{left, top, right, bottom}_width 要素のボーダー幅の値
border_{left_top, left_bottom, right_top, right_bottom}_radius 要素の境界線の半径値
width, height 要素の幅と高さの値

疑似状態

疑似状態シーケンスは、Unity が変数を使用する UI 状態のリストです。

例えば、変数名に hover という疑似状態が付いている場合です。これは、ユーザーが要素にポインターを重ねるときに要素に影響を与えるスタイルの変数を Unity が使用するという意味です。

例えば、--unity-colors-toolbar_button-text-hover

1 つの変数名に複数の疑似状態を持たせることができます。複数の疑似状態は、アンダースコア _ で区切られたアルファベット順に表示されます。

例えば、 --unity-colors-toolbar_button-text-focus_selected

Unity の変数名には、以下の疑似状態のすべての組み合わせが可能です。

疑似状態 説明 
(なし) 通常の状態
checked チェックボックスタイプのコントロールがオンです。
disabled コントロールがオフです。
focus コントロールにフォーカスがあります。
hover ユーザーがコントロールにカーソルを重ねています。
inactive コントロールにフォーカスがありません。
pressed コントロールが押されました。
selected コントロールが選択されました。

その他の参考資料

USS 変数の作成
USS built-in variable references