首页
工具
GUI
screenshot
1/7
thumbnail
thumbnail
thumbnail
thumbnail
thumbnail
thumbnail
thumbnail
UITK Typed UXML能将你通过Unity UI Toolkit创建的UXML文件自动生成安全的强类型的C#包装类,从而无需繁杂混乱的字符串查询,避免程序运行时发生意外。
渲染管线兼容性
内置渲染管线是团结引擎/Unity的默认渲染管线,它是一种通用型渲染管线,但可定制化的选项较为有限。通用渲染管线(简称 URP)是一种可编程渲染管线,能够快速、轻松地进行定制,并可在广泛的平台上实现优化的图形效果。高清渲染管线(简称 HDRP)同样是一种可编程渲染管线,能够在高端平台上实现前沿的高保真图形效果。
团结/Unity版本
内置渲染管线
通用渲染管线(URP)
高清渲染管线(HDRP)
团结 1.0.0
兼容
兼容
兼容
描述

UITK Typed UXML充当了UXML 中定义的 UI 结构和 C# 代码中间的桥梁,它能将你通过Unity UI Toolkit创建的UXML文件自动生成安全的强类型的C#包装类,从而取代 UQuery 那种基于字符串的查询方式,彻底告别手写 UQuery 代码。从而避免了因手写UQuery代码时因拼写错误、UI 改名等引入错误,在编译检查正常,而在运行时才会暴漏问题的情况。让你的代码变得干净、安全。


1.为什么选择 UITK Typed UXML

现有 UI Toolkit 的C#代码往往采用字符串查询元素的方式(Uquery),当出现拼写错误时很难在编译阶段及时发现,而这些错误在 UI 实际运行时又会对运行效果造成不可预测的影响。


UITK Typed UXML工具,将创建的UXML文件自动生成为安全的强类型的C#包装类,为每个 UXML 元素生成清晰可靠的代码,可以完美的替代字符串查找方式,从而规避上述问题的发生。同时UITK Typed UXML工具还能为你提供完整的智能提示、类型检查、可空类型注解等功能。


2.简介

UITK Typed UXML工具为每个 UXML文件都会生成一个对应的分部 C# 类。该类为文件中的每个具名元素提供一个只读的类型化属性。如果存在重名元素,还会额外生成一个 IReadOnlyList<T> 类型的集合属性。对于模板实例,生成类的同时会公开底层的TemplateContainer 和针对其内部视图的类型化包装器。

此外,您还可以通过配置,让生成的类包含空属性、TryGet* 辅助方法、名称常量、USS 常量、静态工厂方法以及分部钩子,以满足不同的开发需求。


3.主要功能及特点

  • 为每个 UXML 文件自动生成对应的C#分部类,保存 UXML 时即同步更新代码,无需手动操作。
  • 实时预览面板:在将生成的代码写入文件之前,即可在预览面板中查看代码内容,提前确认生成结果是否符合预期。
  • 全面的类型化属性支持:为具名元素、重名元素集合、插槽、嵌套模板,以及使用 [UxmlElement] 标记的自定义控件,统统生成强类型属性,不再需要字符串查询。
  • 可选的 TryGet* 辅助方法:提供带有 [NotNullWhen(true)] 注解的 TryGet* 方法,安全地获取元素,并让编译器知道获取成功时结果不为空。
  • 可选的静态工厂方法:支持通过 FromVisualTree、LoadFromAssetDatabase、LoadFromResources 以及 Addressables 等多种方式创建视图实例。
  • 可选分部钩子(OnBeforeAssign / OnAfterAssign:允许在属性赋值前后插入自定义逻辑,灵活扩展生成行为。
  • 可选的名称常量:可选择为 UXML 中的元素名称和 USS 类名自动生成常量,避免硬编码字符串。
  • 智能增量缓存:仅重新生成发生变更的 UXML、USS 或配置文件,避免不必要的重复生成,提升响应速度。
  • 灵活的配置方式:支持通过项目设置(Project Settings)进行全局配置,也支持为每个 UXML 文件单独添加 JSON 覆盖配置,满足不同模块的个性化需求,灵活方便。

4.快速上手

  • 导入资源包
  • 打开窗口(Window)→ UI Toolkit → TypedUxml Preview
  • 在项目窗口(Project window)中选中任意 .uxml 文件——预览会即时更新
  • 保存文件即可自动生成,或点击面板中的生成(Generate)按钮

包含:安装指南、快速上手、预览面板、配置说明、API 参考、示例、疑难解答和更新日志等完整文档。

5.了解更多

更多资料请查看中国合作伙伴官网或者联系开发者,或者查看开发者网站

技术细节

1.配置方式

可通过 Edit(编辑)→ Project Settings(项目设置)→ TypedUxml 修改全局设置。每个 UXML 文件旁均有一个独立的覆盖配置,命名为 {文件名}.uxml.config.json,支持的配置项包括:可空属性、TryGet*、常量生成、基类、构造函数、静态方法、分部钩子、命名空间规则、输出类名等。

2.代码触发方式:

  • 自动生成:保存 UXML 文件时,资源后处理器(Asset Postprocessor)会自动触发代码生成,无需额外操作。
  • 手动生成:可以随时通过以下途径手动触发:
    预览面板(Preview Panel)中的生成按钮
    菜单栏:Assets(资源)→ TypedUxml → Generate Class(生成类)
    菜单栏:Tools(工具)→ TypedUxml → Regenerate Selected UXML(重新生成所选 UXML)

3.缓存管理

增量缓存文件位于 ProjectSettings/TypedUxml/typeduxml.cache.json,用于加速重复生成。如需清理缓存,可通过 Tools(工具)→ TypedUxml → Clear Cache(清除缓存) 一键清除。

4.类型解析

不同类型元素的解析方式如下:

  • 标准 UI Toolkit 元素:通过 XML 命名空间进行解析。
  • 自定义控件:通过 [UxmlElement] 特性配合 XML 命名空间声明进行解析。
  • 模板视图属性:通过已知的 UXML 输出绑定,以及基于路径的命名空间规则进行解析。

5.命名空间解析

生成的命名空间默认由 rootNamespace(根命名空间)、UXML 文件相对于 namespacePathAnchor(命名空间路径锚点)的文件夹路径,以及 namespacePathMode(命名空间路径模式)共同决定。

另外,你也可以在单文件覆盖配置中设置 outputNamespace,为特定的 UXML 文件指定一个完全不同的命名空间,覆盖默认的生成结果。

UI Toolkit UXML文件自动生成强类型C#工具—UITK Typed UXML

资源商店评分
(暂无评分)
国内数据
0浏览
0收藏
当前价格
¥111.55
¥159.36
30% OFF
已享受 平台补贴
席位
仅支持将资源分配给中国区用户,其他区域账号暂不支持
许可证类型
如对许可证类型有疑问,请查阅EULA
席位
文件大小
145.4 KB
最新版本
2.0.0
最新发布日期
2026-08-14
支持Unity版本
/
支持的团结引擎版本
1.0.0或更高
发布者支持
1158412573@qq.com