Version: 2023.2
Create USS variables
USS built-in variable references

Introduction to USS built-in variables

USS built-in variables specify default values for Editor and runtime UI. You can use these variables in your own USS to match your custom interfaces with Unity style.

The name of each built-in variable indicates how and where the variable is used. A variable name consists of one or more parts, separated by hyphens. Each part consists of one or more words separated by underscores.

--unity-{组}-{角色和控件}-{子元素}-{伪状态序列}

Each part of the name shows the types of USS rules that use the variable.

  • Group: The kind of data the variable represents.
  • Role/Control: A conceptual grouping for the elements the variable affects.
  • Sub-Element: An element or control the variable affects.
  • Pseudo States: Lists the states Unity uses the variable for.

例如,以下变量名称:

--unity-colors-button-text-hover

提供有关 Unity 如何使用变量的以下信息:

含义
Group colors Represents color data.
角色/控件 button Affects buttons.
子元素 text Affects text. Its group is colors, so it affects text color.
伪状态 hover Applies to elements when the mouse pointer hovers over them.

This USS built-in variable changes the color of button text when a user hovers over the button.

Group

The group specifies what kind of data the variable represents. Each group has several possible sub-elements.

The variable names have the following groups:

Group Used for
colors 颜色属性,例如 background-colorborder-color
metrics 控制尺寸和形状的属性。例如,border-radiusborder-widthmarginpadding
icons 标准 Unity 图标图像

Role and Control

角色和控件是在概念上对元素进行分组的两种方式。

  • Role refers to a group of elements that have the same purpose, regardless of what type each element is. For example, the error role includes all elements that display error messages to users.
  • Control refers to a group of elements of the same type, regardless of what they do. For example, buttons includes all buttons in the Editor.

Each variable has either a role or a control.

The variable names have the following roles and controls:

Roles

Role 描述
default 默认样式设置,例如文本颜色、背景和边距。
alternated_rows 显示具有交替行颜色的表格数据的元素。例如,列表视图中的列表项。
error 向用户传达错误状态的元素。
highlight 突出显示的 UI 部分。例如,文本选择或树视图中的选定项。
link 作为可单击链接的 UI 部分(通常是文本)。这是未单击状态。
play_mode 编辑器处于运行模式时显示的元素。
visited_link 作为用户已单击的可单击链接的 UI 部分(通常是文本)。
warning 向用户传达警告消息的元素。

控件

控件 描述
app_toolbar Unity 主工具栏
app_toolbar_button Unity 主工具栏中的按钮
box 在编辑器 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 Editor 窗口

Sub-Element

The sub-element is the part of an element that the variable affects. Together with a variable’s group, the sub-element shows what kind of data the variable represents.

例如,在看到具有 colors 组和 text 子元素的变量名称时,这表示 Unity 使用变量时所采用的样式会影响文本颜色。

The variable names have the following sub-elements:

Group Sub-element 描述
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 元素的宽度和高度值

Pseudo-States

伪状态序列是 Unity 对其使用变量的 UI 状态列表。

例如,看到具有 hover 伪状态的变量名称时,这表示 Unity 使用变量时所采用的样式会在用户将指针悬停在元素上方时影响元素。

例如:--unity-colors-toolbar_button-text-hover

一个变量名可以具有多个伪状态。多个伪状态按字母顺序出现(以下划线 _ 分隔)。

例如:--unity-colors-toolbar_button-text-focus_selected

Unity 变量名称可以具有以下伪状态的任意组合:

Pseudo-state 描述
(无) 正常状态
checked 复选框类型控件处于选中状态
disabled 控件处于禁用状态
focus 控件具有焦点
hover 用户将鼠标悬停在控件上方
inactive A control doesn’t have focus
pressed 控件被按下
selected 控件处于选定状态

其他资源

Create USS variables
USS built-in variable references