Forge——UE5开发代理
为虚幻引擎5 C++开发人员提供的人工智能调试和架构助手。
Forge诊断崩溃、审查代码、发现多人游戏安全漏洞并指导架构决策——由覆盖整个UE5 C++生态系统的30个知识文件提供支持。
“不要粘贴任何内容。Forge会读取它。” 当MCP处于活动状态时,Forge会直接从编辑器中读取您的输出日志、构建错误和C++文件。无复制粘贴,无上下文切换。
______________________________________________________________________
Forge做什么
- OOM安全碰撞和错误诊断 --Forge使用内存安全的流式队列(零RAM膨胀)读取5GB+的输出日志,对错误进行分类,并在几秒钟内给出根本原因
- 代码审查 --安全、UE5标准、性能、多人安全扫描
- 建筑咨询 --“这要去哪里?”决策表
- 系统分析 --粘贴多个文件,Forge将它们作为一个统一的系统进行分析
- 版本迁移警告 -告诉升级UE版本时会出现哪些中断
- 多人游戏安全扫描 --未经授权的服务器RPC、未复制状态、所有权问题
- 教学模式 --解释说 *为什么* 发生了一个错误,而不仅仅是修复
- 会话内存 --记住之前在对话中发现的问题
- 无障碍(VI)模式 --为视障开发人员提供全屏阅读器支持
______________________________________________________________________
设置(5分钟)
第一步——克隆
git clone https://github.com/TheForgeDev/forge-ue5
cd forge-ue5步骤2——安装
pip install mcp httpx步骤3-在UE5中启用远程控制API
Edit → Plugins → Remote Control API → Enable → Restart Editor步骤4--配置Claude桌面
打开您的Claude Desktop配置文件:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
添加Forge:
{
"mcpServers": {
"forge-ue5": {
"command": "python",
"args": ["C:/forge-ue5/server.py"],
"env": {
"UE_PROJECT_PATH": "C:/MyUE5Project"
}
}
}
}用实际位置替换路径。
步骤5--重新启动克劳德桌面
Forge将显示为连接工具。无需将文件上传到Claude Projects。
第六步——开始你的第一次谈话
UE5 version: 5.4
Platform: PC
Project type: multiplayer game
Experience: intermediate C++______________________________________________________________________
运作原理
懒惰的知识加载
Forge不会预先加载所有30个知识文件。相反,它只加载所需的内容:
You: "My GAS ability isn't activating after respawn"
Forge: reads knowledge/gas.md → analyzes your specific issue
You: "Now my Chaos Vehicle only goes backward"
Forge: reads knowledge/chaos_vehicles.md → different module, loaded fresh令牌使用情况:
- 不带MCP(手动):~150K令牌(加载所有文件)
- 使用MCP延迟加载:每次对话约10-15K个令牌
“大脑”与“神经系统”
Claude是推理引擎,但开箱即用的LLM会产生UE5 C++API的幻觉。Forge充当神经系统:它提供眼睛(远程控制API)、手(文件读取)和严格的规则手册(30个专业知识文件),因此LLM从不猜测-它引用。
会话记忆
Forge会记住它在对话中发现的内容:
Week 1: Fixed InitAbilityActorInfo missing in MyCharacter.cpp → saved
Week 2: Analyzing MyVehicle.cpp
Forge: "InitAbilityActorInfo was also missed in MyCharacter.cpp
(March 14). Checking MyVehicle.cpp for the same pattern..."会话数据存储在本地 .forge_session.json --永远不要离开你的机器。
______________________________________________________________________
可用工具
| 工具 | 它做什么 |
|---|---|
read_knowledge(topic) | 按需加载知识模块 |
get_project_info | UE5版本、项目名称、连接状态 |
analyze_output_log | 从输出日志中读取错误并对其进行分类 |
get_build_errors | LNK、C2xxx、UHT编译器错误 |
get_blueprint_errors | 蓝图编译失败 |
get_active_plugins | upproject中的活动插件 |
get_cpp_file(path) | 阅读C++文件进行代码审查 |
get_crash_dump | 最新坠机报告 |
get_shader_errors | 材质/着色器编译失败 |
read_saved_log(n) | 从Saved/Logs/中读取特定日志 |
get_session_memory | 加载此项目以前发现的问题 |
save_session_finding | 将查找结果保存到会话内存中 |
______________________________________________________________________
知识库(30个模块)
| 主题关键字 | 覆盖范围 |
|---|---|
gas | GAS设置、InitAbilityActorInfo、AttributeSet、复制 |
multiplayer | 复制、RPC、权限、在线子系统 |
security | 服务器RPC验证、漏洞利用模式、所有权 |
vehicle | 混沌车辆设置,7种错误模式 |
save | 保存/加载系统、序列化、库存 |
animation Retargeter,Motion Matching,Mixamo。 | |
blueprint | 所有不确定性/不确定性指示符 |
architecture | 游戏模式/状态/控制器决策,子系统 |
devenv | VS设置、实时编码、智能感知 |
lumen | Lumen/Nanite控制台变量、伪影 |
material | 材质、着色器、HLSL自定义节点 |
world_partition | 流媒体、数据层、HLOD |
input | 增强的输入系统,从传统系统迁移 |
ui | UMG、BindWidget、CommonUI、3D小部件 |
packaging | Cook错误,“编辑器中的作品打包失败” |
threading | 异步模式,lambdas中的TWeakObjectPtr |
versions | UE5.0→5.5 打破变化 |
ai | 行为树、EQS、自定义任务 |
audio | MetaSounds、衰减、音频调试 |
plugin | 插件开发、模块样板 |
______________________________________________________________________
对话示例
碰撞诊断:
"My game crashed. Can you analyze the log?"
→ Forge reads Output Log directly, categorizes errors, gives root cause代码审查:
"Review MyCharacter.cpp for multiplayer security issues"
→ Forge reads the file, runs security scan, flags RPC validation gaps系统分析:
"Here are my GAS setup files — what will break as the project grows?"
→ Forge loads gas knowledge, analyzes files as a system, flags weak points版本迁移:
"I'm upgrading from UE5.3 to 5.4. What should I check?"
→ Forge loads versions knowledge, lists breaking changes relevant to your code______________________________________________________________________
无障碍模式
对于使用屏幕阅读器(NVDA、JAWS、VoiceOver)的开发人员:
enable VI mode输出变得对屏幕阅读器友好:在显示之前描述代码块,在3个结构化层中解释错误,用单词替换符号。
禁用: disable VI mode
______________________________________________________________________
与其他AI工具配合使用
server.py 是一个标准的MCP服务器,适用于任何兼容MCP的客户端:
| 工具 | 配置位置 |
|---|---|
| 克劳德桌面 | %APPDATA%/Claude/claude_desktop_config.json |
| 光标 | .cursor/mcp.json 在项目根中 |
| 风帆冲浪 | ~/.config/windsurf/mcp.json |
| VS代码 | .vscode/mcp.json |
注意:知识文件和会话内存最适合Claude,它理解Forge系统提示上下文。
______________________________________________________________________
Forge与其他UE5人工智能工具
| 伪造 | 不真实的赞美/不真实的mcp | |
|---|---|---|
| 编辑器控制(生成演员,编辑BP) | 计划(第2阶段) | 是 |
| 碰撞日志分析 | 是 | 部分 |
| UE版本迁移警告 | 是 | 否 |
| 多人游戏安全扫描 | 是 | 否 |
| 建筑咨询 | 是 | 否 |
| 会话内存 | 是 | 否 |
| 教学模式 | 是 | 否 |
| 深度领域知识(30个模块) | 是 | 否 |
| 令牌高效(延迟加载) | 是 | 不适用 |
| 安装 | pip安装 | 插件+npm |
Forge和编辑器控制工具是 互补的。两者都使用可获得最佳效果。
______________________________________________________________________
贡献
欢迎拉取请求。要添加知识模块,请执行以下操作:
- 创建
knowledge/UE5_[Domain]_Guide_v1.0.md - 添加主题→ 文件名映射到
KNOWLEDGE_MAP在server.py - 遵循现有格式:概述、C++设置、常见错误、调试命令、代理规则
- 所有内容均为英文
- 提交附有简要说明的PR
______________________________________________________________________
路线图
- \[x\] 核心知识库(30个文件)
- \[x\] 带诊断工具的MCP服务器
- \[x\] 懒惰的知识加载
- \[x\] 会话内存
- \[\]编辑器控制工具(第2阶段——UnrealCrowe的分支)
- \[\]Git差异分析(“此提交会破坏什么?”)
- \[\]提交前安全扫描
- \[\]测试套件——25个问题的基准测试
- \[ \] 第3阶段:主动控制架构(v2.0) --超越被动调试。集成模型预测控制(MPC)求解器(OSQP),让Forge直接在发动机中主动优化机器人运动、先进的车辆动力学和GAS驱动的物理。
______________________________________________________________________
许可证
MIT——免费使用、修改和分发。代币成本始终是用户自己的。
______________________________________________________________________
*Forge源于一个简单的问题:为什么同样的GAS崩溃需要每个开发人员几个小时才能找到,而答案总是一样的?目标:将30个积累的UE5 C++知识文件放入每个开发人员的上下文窗口中。*
