TEngine is a Unity framework for building games, providing modules for asynchronous work, hot updates, asset management, configuration tables, and user interfaces. It is for Unity developers and teams making commercial projects across desktop, mobile, web, and WeChat Mini Game targets, with catalogue skills supporting its AI-assisted development workflow.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/Alex-Rachel/TEnginenpx agentmods add skills/alex-rachel/tengine/luban-devWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alex-rachel/tengine/luban-dev)<a href="https://agentmods.dev/skills/alex-rachel/tengine/luban-dev"><img src="https://agentmods.dev/badge/skills/alex-rachel/tengine/luban-dev/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alex-rachel/tengine/luban-dev"><img src="https://agentmods.dev/badge/skills/alex-rachel/tengine/luban-dev.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00149 | $0.01787 |
| Opus 5 | $0.00075 | $0.00894 |
| Sonnet 5 | $0.00030 | $0.00357 |
| Haiku 4.5 | $0.00015 | $0.00179 |
Grade A, and why
luban-dev scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Luban 数据配置工具
TEngine 项目核心约定
- 生成格式:
cs-bin(C# 代码)+bin(二进制数据) - 命名空间:
GameConfig(非默认cfg) - 数据加载:
ConfigSystem.Instance.Tables懒加载,底层走 YooAsset - 代码位置:
GameScripts/HotFix/GameProto/GameConfig/(热更程序集) - 数据位置:
AssetRaw/Configs/bytes/(YooAsset 管理) - 表定义:Excel(
__tables__.xlsx/__beans__.xlsx/__enums__.xlsx)+ XML Schema(Defines/) - 导出数据 → 使用导出脚本,不要手动拼 dotnet 命令
导出脚本
所有脚本位于 Configs/GameConfig/,使用相对路径调用。
| 脚本 | 用途 | 说明 |
|---|---|---|
gen_code_bin_to_project_lazyload |
客户端(推荐,懒加载模板) | AI 调用此脚本 |
gen_code_bin_to_project |
客户端(标准模板) | 非懒加载 |
gen_code_bin_to_server |
服务端 | - |
AI 调用导表命令
根据操作系统选择对应扩展名:
Windows:
cmd //c "set AI_MODE=1 && Configs\GameConfig\gen_code_bin_to_project_lazyload.bat"
macOS/Linux:
bash Configs/GameConfig/gen_code_bin_to_project_lazyload.sh
新增配置表流程
- 在
Datas/__tables__.xlsx注册新表 - 创建
Datas/xxx.xlsx数据表 - 在
__beans__.xlsx/__enums__.xlsx定义复合类型/枚举(可选) - 运行导出脚本生成代码和数据
- 在
GameLogic/Config/封装XxxConfigMgr
配置管理红线
- 不要直接修改
GameProto/GameConfig/下的生成代码 - 复杂模块封装
XxxConfigMgr,业务代码通过管理器访问 - 新增字段前向兼容,删除/改名字段不兼容
配置表操作工具(luban_helper.py)
通过 Python 脚本直接 CRUD Excel 配置表,无需手动编辑 xlsx。
前置条件
Python 3.8+,pip install openpyxl
执行方式
python scripts/luban_helper.py --data-dir Configs/GameConfig/Datas <command>
--data-dir 必须放在子命令之前。PowerShell 中用 ; 分隔命令,JSON 参数推荐用 --file 从文件读取。
参数类型:位置参数(大写,如 NAME、TABLE)直接传值,不加 -- 前缀;可选参数带 -- 前缀。例如 table get test.TbItem(正确)而非 table get --name test.TbItem(错误)。
命令速查
| 分类 | 命令 | 功能 |
|---|---|---|
| 枚举 | enum list/get/add/update/delete |
枚举 CRUD |
| 结构 | bean list/get/add/update/delete |
Bean CRUD |
| 表 | table list/get/add/update/delete |
表 CRUD |
| 字段 | field list/add/update/delete/disable/enable |
字段操作 |
| 数据 | row list/get/query/add/update/delete |
数据行操作 |
| 批量 | batch fields/rows |
批量操作 |
| 导入导出 | export/import |
JSON 导入导出 |
| 验证 | validate / ref |
数据验证 / 引用检查 |
| 类型 | type list/validate/suggest/search/guide/info |
类型系统 |
| 自动 | auto list/create |
自动导入表(# 前缀,不推荐) |
| 管理 | rename/copy/diff/template |
表管理工具 |
What ships with it
31 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- examples/item-system/Datas/item/Item.csv 447 B
- examples/item-system/Defines/__root__.xml 152 B
- examples/item-system/Defines/item.xml 4.7 KB
- examples/item-system/luban.conf 361 B
- examples/skill-system/Datas/skill/Skill.json 1.7 KB
- examples/skill-system/Defines/skill.xml 3.2 KB
- examples/tengine-project/CustomTemplate/ConfigSystem.cs 1.3 KB
- examples/tengine-project/CustomTemplate/ExternalTypeUtil.cs 768 B
- examples/tengine-project/Datas/__beans__.xlsx.md 1.3 KB
- examples/tengine-project/Datas/__enums__.xlsx.md 1.3 KB
- examples/tengine-project/Datas/__tables__.xlsx.md 913 B
- examples/tengine-project/Datas/item.xlsx.md 1.9 KB
- examples/tengine-project/Datas/skill.xlsx.md 1.8 KB
- examples/tengine-project/Defines/builtin.xml 2.0 KB
- examples/tengine-project/GameLogic/Config/ItemConfigMgr.cs 1.6 KB
- examples/tengine-project/gen_code_bin_to_project.bat 869 B runs code
- examples/tengine-project/gen_code_bin_to_server.bat 443 B runs code
- examples/tengine-project/luban.conf 637 B
- examples/tengine-project/README.md 3.0 KB
- references/command-reference.md 4.6 KB
- references/data-sources.md 3.7 KB
- references/excel-format.md 3.6 KB
- references/luban-conf.md 5.0 KB
- references/operating-guide.md 22 KB
- references/runtime.md 5.4 KB
- references/schema.md 8.1 KB
- references/tengine-integration.md 12 KB
- references/type-system.md 3.9 KB
- references/validators.md 5.2 KB
- scripts/luban_helper.py 207 KB runs code
- scripts/requirements.txt 16 B
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 129 lines · 149 tokens per session scan A cb89293ba549
luban-dev is a skill published in the GitHub repository Alex-Rachel/TEngine (2,334 stars, last pushed today), licensed MIT. It adds 149 tokens to every session and 1,787 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
et-code
ET framework C# code authoring and review workflow. Use when creating or modifying Entity, Component, System, Helper, message handlers, package dependencies, assemblies, module analyzer boundaries, C# file placement, .meta handling, ECS layering, or component contract logic in WOW/ET packages.
fantasy-net
This guide applies to development and code review for Fantasy / Fantasy.Net / Fantasy.Unity written in C#. Use it when a task involves Fantasy server code or Unity client code using Fantasy, ECS entities/components/systems, scenes and subscenes, FTask, network handlers/messages/protocols, Address or Roaming routing…
reflection-method-call
Call a C# method by reflection — including private methods. Requires a method schema obtained via 'reflection-method-find'. Supports static methods, instance methods (with optional target deserialization), and main-thread / off-thread execution.
script-execute
Compiles and executes C# code dynamically using Roslyn. Supports a full-code mode (default) and a body-only mode — see the skill body for the difference and for how to pass Unity object references as parameters.
reflection-method-find
Find C# methods across every loaded assembly by name / type / parameters — including private methods. Returns serialized MethodData entries usable as schemas for 'reflection-method-call'.
unity-version-split
Split a C# file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes (e.g., EntityId vs int, GetEntityId vs GetInstanceID).