Ue benchmark
Skill ComeOnOliver/skillshub/skills/blackplume233/UnrealMCPHub/ue-benchmark
🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill ue-benchmarkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
UE Agent Benchmark 评测框架。定义通用评分体系、评测流程和质量层级,支持多场景 Benchmark。触发:用户提及 Benchmark/评测/基准测试/跑分 等关键词时激活。
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
16.3 KB, as published. Nobody here has run it
UE Agent Benchmark — 评测框架
前置技能:本技能依赖
use-unrealhub技能提供的 UE 工具链知识。 执行 Benchmark 前,Agent 应已加载use-unrealhub技能。
1. 概述
UE Agent Benchmark 衡量 AI 编码代理在无人工代码介入的条件下,通过 MCP 工具链在 Unreal Engine 中端到端交付完整游戏原型的综合能力。
评测覆盖:工程创建、C++ 编码、关卡构建、游戏系统设计、PIE 自测、迭代修复的全生命周期。
1.1 多场景架构
Benchmark 支持多个评测场景,每个场景定义一种游戏类型及其专属评分细则:
skills/ue-benchmark/
├── SKILL.md ← 本文件:通用框架(评分公式、评测流程、质量层级)
└── scenarios/
├── vampire-survivors-v1.md ← 场景 A:3D 吸血鬼幸存者
└── (future scenarios) ← 场景 B, C, ...
启动 Benchmark 时:
- 读取本文件了解通用框架
- 读取
scenarios/<场景名>.md获取标准 Prompt、执行阶段、游戏内容规格 - 按场景要求执行
2. 通用评分体系
2.1 总分公式
TotalScore = PackageGate × (UserScore × 0.55 + AIReviewScore × 0.30 + ContentScore × 0.05 + TokenScore × 0.10)
| 因子 | 说明 |
|---|---|
| PackageGate | 二值门槛(0 或 1)。Cook 打包失败、打包产物崩溃或不可玩 → 整体记零分 |
| UserScore | 用户游玩评分(权重 55%) |
| AIReviewScore | AI 代码审查评分(权重 30%) |
| ContentScore | 内容充实度评分(权重 5%,见 2.5 节) |
| TokenScore | Token 效率评分(权重 10%) |
总分无上限。Agent 可通过迭代增强持续提升各项分数。
2.1.1 PackageGate — 打包门槛(硬性前置条件)
PackageGate 是资格赛:不通过则整体 0 分,不进入后续评分。
通过条件(全部满足才为 1)
| # | 条件 | 验证方式 |
|---|---|---|
| G1 | 工程目录完整保留 | 目录结构可被 UE 正常打开,无缺失核心文件(.uproject、Source/、Config/) |
| G2 | Cook 成功 | RunUAT BuildCookRun 或等效命令退出码为 0,无 Fatal Error |
| G3 | 打包产物可启动 | 双击 .exe 能进入游戏主画面,无立即崩溃 |
| G4 | 打包产物可玩 | 能开始一局游戏、控制角色移动、遭遇至少一波敌人 |
失败判定
| 情形 | PackageGate | 后果 |
|---|---|---|
| Cook 报 Fatal Error / 退出码非 0 | 0 | TotalScore = 0 |
| 打包产物启动即崩溃(< 10 秒) | 0 | TotalScore = 0 |
| 打包产物能启动但无法进入游戏(卡主菜单、黑屏等) | 0 | TotalScore = 0 |
| 打包产物可进入游戏但 30 秒内必现崩溃 | 0 | TotalScore = 0 |
| 打包产物可正常游玩(偶发崩溃按稳定性惩罚扣分) | 1 | 正常评分 |
工程目录要求:Agent 完成后工程目录应保持干净、结构合理。评测方须能直接用 UE 编辑器打开工程并运行 Cook。允许使用引擎内置资源,不要求外部资源包。
2.1.2 Playability Verification Protocol — 可玩性验证协议
为什么需要结构化验证? 单纯"能跑"不代表"可玩"。操作感和可玩性是游戏的生命线, 必须通过可复现的测试流程来评估,而非仅凭主观印象。
PackageGate 通过后,在用户打分(UserScore)之前,必须执行可玩性验证协议 (PVP)。 PVP 不直接产生分数,但为 UserScore 评分提供客观依据,并可发现 PackageGate 未覆盖的问题。
结构化游玩测试(4 轮)
| 轮次 | 时长 | 测试重点 | 评估目标 |
|---|---|---|---|
| S1: 初见体验 | 2 分钟 | 启动游戏、尝试所有操控 | 输入响应性、第一印象、是否有引导 |
| S2: 核心循环 | 5 分钟 | 打过前几波、升级 1-2 次 | 战斗手感、敌人威胁感、升级体验 |
| S3: 完整对局 | 10+ 分钟 | 尽可能长时间存活或通关 | 难度曲线、内容多样性、持续乐趣 |
| S4: 二次游玩 | 5 分钟 | 重新开始,做不同选择 | 重玩性、不同升级路径的差异感 |
每轮结束后记录观察笔记,作为 UserScore 各项打分依据。
操作验证清单(场景专属,见场景文件)
每个场景定义一份操作验证清单——由具体的「输入→期望响应」测试项组成。 评测方须逐项执行并记录通过/失败。此清单同时用于:
- 发现 PackageGate 未覆盖的可玩性缺陷
- 为 UserScore 的「操作手感分」提供客观评分依据
PVP 与评分的关系
PackageGate ─── 通过 ───→ PVP(结构化测试)───→ UserScore 打分
│ │ │
│ ├── 操作验证清单 ├── 基础功能分
│ ├── 4 轮游玩测试 ├── 操作手感分 ← PVP 提供依据
│ └── 观察笔记 ├── 内容深度分
│ ├── 体验加分
失败 → 0 分 └── 稳定性惩罚
2.2 UserScore — 用户综合评分(权重 55%)
用户在 打包产物 和 PIE 中实际游玩后打分,采用累加制(非百分制)。
核心原则:内容越充实越完善,分数越高;操作手感是游戏体验的基石。 没有操作感的游戏即使内容再多也难以获得高分。
- 基础功能分(0-100):由场景文件定义各模块的分值和评分标准
- 操作手感分(0-30):独立维度,评估输入响应、移动手感、战斗反馈、UI 响应(见场景文件)
- 内容深度分(0-60):对每个基础模块的实现深度进行额外评分(见场景文件)
- 体验加分(无上限):由场景文件定义加分项
- 稳定性惩罚:
| 问题 | 扣分 |
|---|---|
| PIE 崩溃 | -10/次 |
| 打包产物中崩溃(通过 PackageGate 后的偶发崩溃) | -15/次 |
| 编译失败未自行修复 | -15 |
| 游戏卡死(无限循环等) | -10/次 |
| 明显穿模 / 物理异常 | -5/处 |
| 输入无响应(按键无反应/操控断裂) | -10/处 |
2.3 AIReviewScore — AI 审查评分(权重 30%)
由另一个独立 AI(非执行 Agent)对产出代码和工程进行审查。
代码质量(0-40)
| 维度 | 满分 | 标准 |
|---|---|---|
| 架构设计 | 10 | 职责分离、模块化、可扩展性 |
| 代码规范 | 10 | UE 命名规范、注释质量、头文件组织 |
| 内存安全 | 10 | UPROPERTY 标记、弱引用、生命周期管理 |
| 错误处理 | 10 | 空指针检查、边界检查、优雅降级 |
工程完整度(0-30)
| 维度 | 满分 | 标准 |
|---|---|---|
| 类层次结构 | 10 | 继承合理、接口清晰 |
| 数据驱动 | 10 | 数值可配置(UPROPERTY)、不硬编码 |
| 构建系统 | 10 | Build.cs 依赖正确、模块划分 |
游戏设计质量(0-30)
| 维度 | 满分 | 标准 |
|---|---|---|
| 系统完整性 | 10 | 核心循环闭合、无断裂流程 |
| 数值平衡 | 10 | 难度曲线、武器 DPS 差异化 |
| 关卡空间 | 10 | 动线合理、空间利用、节奏感 |
加分项(无上限)
| 加分项 | 分值 |
|---|---|
| 设计模式运用 | +5/种 |
| 性能优化措施 | +10 |
| 单元测试 / 自动化测试 | +10 |
| 热重载兼容性 | +5 |
| 文档 / 注释完备 | +5 |
2.5 ContentScore — 内容充实度评分(权重 5%)
独立维度,衡量游戏内容的广度和深度,由用户和 AI 审查者共同评估。
评分标准(0-100,无上限加分)
| 维度 | 满分 | 标准 |
|---|---|---|
| 系统数量 | 20 | 实现的独立游戏系统数量(武器、敌人、升级、拾取、Boss、被动技能、成就…) |
| 单系统深度 | 20 | 每个系统的实现层次(如武器不仅能射击,还有升级路径、视觉差异、音效差异) |
| 数据丰富度 | 20 | 配置数据量(武器种类、敌人种类、关卡元素、技能数量) |
| 视听表现 | 20 | 特效、音效、UI 动画、材质的丰富程度 |
| 玩法完整度 | 20 | 从开始到结束的完整体验闭环(主菜单→游玩→结算→重开) |
加分项(无上限)
| 加分项 | 分值 |
|---|---|
| 多关卡 / 多场景 | +15 |
| 元进度系统(跨局升级) | +15 |
| 多角色可选 | +10 |
| 成就 / 统计系统 | +10 |
| 设置界面(音量、画质等) | +5 |
| 新手引导 / 教程 | +10 |
| 存档系统 | +10 |
| 本地化支持 | +5 |
评估方式:UserScore 打分时同步评估 ContentScore,AI 审查时也单独给出 ContentScore。 最终取
ContentScore = (UserContentScore + AIContentScore) / 2。
2.6 TokenScore — Token 效率评分(权重 10%)
TokenScore = BaseEfficiency + QualityBonus
BaseEfficiency = 100 × (ReferenceTokens / ActualTokens)
QualityBonus = UserScore × 0.1
| 参数 | 值 | 说明 |
|---|---|---|
| ReferenceTokens | 1,000,000,000 (1B) | 基准 Token 数 |
| ActualTokens | 实际消耗 | Agent 自行记录 + 用户独立记录,取一致值 |
Token 记录要求:Agent 须通过
add_note阶段性记录 Token 消耗。用户也独立记录。
3. 评测流程
所有场景共享此通用流程:
┌──────────────────────────────────────────────┐
│ 1. 准备阶段 │
│ - 准备干净的 UE 引擎环境 │
│ - 启动 UnrealMCPHub │
│ - 记录开始 Token 计数 │
│ - 读取场景文件获取标准 Prompt │
├──────────────────────────────────────────────┤
│ 2. 执行阶段 │
│ - 向 Agent 发送场景的标准 Prompt │
│ - Agent 自主执行全部流程 │
│ - 不做任何人工干预 │
│ - 记录所有 MCP 调用日志 │
├──────────────────────────────────────────────┤
│ 3. Cook & Package 阶段 ⚠️ GATE │
│ - Agent 完成后,在工程目录执行 Cook 打包 │
│ - 验证打包产物可启动、可进入游戏、可游玩 │
│ - 若打包失败或产物不可玩 → PackageGate=0 │
│ → TotalScore=0,流程终止 │
│ - 通过后保留工程目录和打包产物 │
├──────────────────────────────────────────────┤
│ 4. 可玩性验证阶段 (PVP) │
│ - 执行操作验证清单(逐项测试输入→响应) │
│ - 完成 4 轮结构化游玩测试(S1-S4) │
│ - 记录每轮观察笔记 │
├──────────────────────────────────────────────┤
│ 5. 验收评分阶段 │
│ - 基于 PVP 结果打 UserScore │
│ (基础分 + 操作手感分 + 内容深度分 + 加分) │
│ - 同步评估 ContentScore │
├──────────────────────────────────────────────┤
│ 6. AI 审查阶段 │
│ - 将全部 C++ 源码提交给独立 AI │
│ - 使用场景提供的审查 Prompt 模板 │
│ - AI 按标准打 AIReviewScore + ContentScore │
├──────────────────────────────────────────────┤
│ 7. 汇总阶段 │
│ - 计算 TokenScore(2.6 节) │
│ - 计算 ContentScore 均值(2.5 节) │
│ - 代入总分公式(含 PackageGate) │
│ - 记录到排行榜 │
└──────────────────────────────────────────────┘
4. 质量层级
| Tier | 分数段 | 特征 |
|---|---|---|
| 未通过 | 0 | Cook 失败或打包产物不可玩/崩溃 |
| Tier 1 | 40-70 | 核心可玩:能跑能打、基本循环闭合、可打包 |
| Tier 2 | 70-120 | 功能完整:多武器/敌人、升级系统、HUD、音效 |
| Tier 3 | 120-180 | 体验打磨:打击感、Boss、特效、数值平衡、内容丰富 |
| Tier 4 | 180+ | 超越期望:创意玩法、元进度、性能优化、海量内容 |
5. 排行榜格式
| 排名 | Agent | 模型 | 场景 | 总分 | PackageGate | User | AIReview | Content | Token | 消耗Token | 日期 |
|------|-------|------|------|------|-------------|------|----------|---------|-------|----------|------|
| 1 | Agent-X | claude-4-opus | vampire-survivors-v1 | 207.4 | ✅ | 230 | 150 | 85 | 208 | 500M | 2026-03-07 |
| - | Agent-F | model-y | vampire-survivors-v1 | 0 | ❌ Cook失败 | - | - | - | - | 300M | 2026-03-08 |
6. 评分示例
案例 A:基础完成(1B Token,通过打包)
| 项目 | 原始分 | 权重后 |
|---|---|---|
| PackageGate | ✅ (1) | ×1 |
| UserScore | 72 | 72 × 0.55 = 39.6 |
| AIReviewScore | 65 | 65 × 0.30 = 19.5 |
| ContentScore | 40 | 40 × 0.05 = 2.0 |
| TokenScore | 107.2 | 107.2 × 0.10 = 10.7 |
| 总分 | 71.8 |
案例 B:优秀完成(800M Token,通过打包)
| 项目 | 原始分 | 权重后 |
|---|---|---|
| PackageGate | ✅ (1) | ×1 |
| UserScore | 145 | 145 × 0.55 = 79.8 |
| AIReviewScore | 110 | 110 × 0.30 = 33.0 |
| ContentScore | 75 | 75 × 0.05 = 3.8 |
| TokenScore | 139.5 | 139.5 × 0.10 = 14.0 |
| 总分 | 130.6 |
案例 C:极致打磨(2B Token,通过打包,内容极其丰富)
| 项目 | 原始分 | 权重后 |
|---|---|---|
| PackageGate | ✅ (1) | ×1 |
| UserScore | 230 | 230 × 0.55 = 126.5 |
| AIReviewScore | 150 | 150 × 0.30 = 45.0 |
| ContentScore | 130 | 130 × 0.05 = 6.5 |
| TokenScore | 73 | 73 × 0.10 = 7.3 |
| 总分 | 185.3 |
案例 D:打包失败
| 项目 | 原始分 | 权重后 |
|---|---|---|
| PackageGate | ❌ (0) | ×0 |
| UserScore | (未评分) | - |
| AIReviewScore | (未评分) | - |
| ContentScore | (未评分) | - |
| TokenScore | - | - |
| 总分 | 0 |
7. 通用前置条件
所有场景共享以下前置条件:
| 项目 | 要求 |
|---|---|
| 引擎 | Unreal Engine 5.7+ |
| 编译器 | MSVC 2022+ |
| MCP 连接 | UnrealMCPHub 已连接 |
| 起始状态 | 全新空白 UE C++ 工程 |
| 人工操作 | 仅限启动 Agent 会话 + 最终评分 + 执行 Cook(或 Agent 自动触发) |
| 输入指令 | 单条 Prompt(由场景文件定义) |
| Token 记录 | Agent 自行记录 + 用户独立记录 |
| 打包验证 | 评测结束后必须执行 Cook 打包并验证产物可玩性 |
| 工程保留 | Agent 完成后工程目录必须完整保留,可被 UE 编辑器直接打开 |
8. 可用场景
| 场景 ID | 文件 | 游戏类型 | 版本 |
|---|---|---|---|
vampire-survivors-v1 | scenarios/vampire-survivors-v1.md | 3D 吸血鬼幸存者 | v1.3 |
新场景按
scenarios/<game-type>-v<N>.md命名。每个场景文件定义:标准 Prompt、执行阶段、游戏内容规格、场景专属评分细则、AI 审查 Prompt 模板。