W
AI-Wiki
CONCEPT

设计令牌

定义

设计令牌(Design Token)是把颜色、间距、字体、圆角等视觉决策提炼成可统一管理变量的机制。 在一般语境里,它常被理解为“设计参数的变量化”;但在本文讨论的 Unity UI Toolkit Design System 中,它承担的角色更具体:它是主题与视觉规范的统一入口,而不是零散的样式常量集合。

在本文档中的语境

这套系统建立在 Unity 6 的 UI Toolkit 之上,整体包含 设计令牌、UI 组件、图标集、移动端支持和一个 Runtime Helper。 其中,Token 处在视觉系统的底层:它集中定义配色、间距、字体、圆角等视觉变量,再由上层样式与组件统一消费。 这意味着,开发者不需要在每个按钮、输入框、布局或单独屏幕里重复写一遍视觉决策,而是通过同一套变量把整套 UI 绑在一起。

本文明确给出的系统默认风格是深色主题,但主题切换并不是靠逐页重写样式完成,而是主要通过修改 Token 文件实现。 因此,设计令牌在这里不是辅助配置,而是驱动主题替换和跨界面一致性的核心层。

与主 stylesheet 的关系

本文给出的关系分工很清楚:

  • 主 stylesheet 负责整体结构化样式。
  • 设计令牌负责底层视觉变量。

也就是说,stylesheet 决定组件和界面“怎么组织、怎么套用规则”,例如同一类控件使用什么结构、哪些 selector 命中哪些元素; 而 Token 决定这些规则最终落到什么视觉结果上,例如具体颜色值、留白尺度、字体参数和圆角尺度。

这种分层的直接结果是:

  • 结构样式可以保持稳定;
  • 视觉风格可以通过替换或调整 Token 集中变化;
  • 主题切换不必大面积触碰组件定义和界面布局。

原文直接说明:整个视觉风格由一张主 stylesheet 控制,换主题只需要改 Token 文件。 作者自己测试了四套配色方案,每一套都只花了“一个 git diff”的时间。 这说明主题实验被压缩成小范围、可追踪、可回滚的改动,而不是散落在多个 UI 文件中的手工返工。

关键机制与直接收益

1. 把风格修改收敛到小范围改动

在没有 设计令牌 的情况下,同一个项目里的按钮、输入框、面板、列表、弹窗、HUD 往往会在不同页面各自演化,最终导致颜色、间距、字体和状态样式不统一。 本文中的做法是把这些视觉决策上收到 Token 层,结果就是主题变更主要变成 Token 文件变更。

作者给出的最直接收益不是抽象上的“更优雅”,而是非常具体的工程反馈:

  • 测试四套配色方案时;
  • 每套方案都只需要一个 git diff 级别的改动。

这说明 设计令牌显著降低了多主题试错的成本。

2. 支撑跨多个 UI 屏幕的一致性

原文列出了一组明确场景:

  • 设置
  • 大厅
  • 商店
  • 赛后结算
  • 游戏内 HUD

这些界面全部运行在同一套 Token 和组件之上。 因此在审查时,没有额外的视觉不一致问题需要处理。 这里的重点不是“它们都用了同一种控件”这么简单,而是这些功能、信息密度和交互节奏都不同的界面,共享了同一组视觉变量。 设计令牌由此成为跨屏幕统一视觉语言的实际约束机制。

3. 与快速交付协同

文中给出一组实际效率数字:菜单屏从设计稿到上线,从一两天压缩到一两小时。 虽然这不完全只归功于 设计令牌,而是系统化组件、样式和适配能力共同作用的结果,但 Token 在其中承担了关键基础层: 因为视觉规范已经变量化并统一,开发者不必为每个新页面重新定义基础视觉规则。

它不是只服务桌面的变量系统

本文特别强调,这套系统不只覆盖桌面 UI。 除了深色主题和组件体系,它还同时做了:

  • 键盘适配
  • 触控适配
  • 移动端支持

这说明 设计令牌不是孤立存在的“颜色表”,而是统一系统的一部分。 它与输入方式适配、终端适配、组件结构共同工作。

原文给出一个非常具体的移动端适配细节:移动端适配加一个 .mobile 类就完成。 这表示终端差异的处理被纳入统一规则体系,而不是在每个页面单独重写。 在这种架构下,Token 提供稳定视觉变量,样式层根据设备或场景选择性应用规则,两者共同保证移动端与桌面端的一致体验。

接入方式与使用位置

本文描述的接入方式相当直接:

  1. 把系统文件夹拖进项目的 Assets 目录。
  2. 把主 stylesheet 挂到 UI 屏幕上。
  3. 全局风格随之统一。

在这个流程里,设计令牌不会作为最终界面直接出现,而是通过主 stylesheet 和组件定义被消费。 开发者真正感受到的效果是:一旦接入,整套 UI 屏幕开始共享同一底层视觉变量。

官方还提供了一个网页 Demo,可通过悬停或点击组件查看每个元素背后的 selector 链。 这有助于理解样式结构,也间接说明 Token 并不是脱离样式系统独立起作用,而是嵌入到 selector、组件结构与样式层级之中。

细节与边界

适用场景

本文认为它特别适合:

  • 独立开发者
  • 小团队
  • 需要快速搭建多个 UI 屏幕的项目
  • 不想每次都从头定义视觉规范的场景

这类场景的共同特点是:资源有限,但界面数量并不少。 设计令牌的价值就在于把“重复做视觉决策”的隐形成本前置并收敛。

融合既有系统时的边界

本文也明确给出接入边界:如果现有项目已经有一套成熟的自定义设计语言,这套系统未必可以无缝套入。 原因主要有两类:

  • 它本身采用深色主题作为默认基础;
  • 项目现有的 Token 结构可能与它的组织方式不同。

因此,若团队已经有成熟设计语言、视觉资产体系或既有 Token 规范,融合时往往需要一定改造。 这种改造可能不是简单替换几个颜色值,而是要对 Token 结构、命名、映射关系甚至样式消费方式做适配。

换句话说,设计令牌能显著提升统一性,但前提是它要么成为系统的统一入口,要么被认真映射进已有入口;否则就会和既有视觉体系并存冲突。

相关条目