UE5调试与架构助手

Forge是一款专为Unreal Engine 5 C++开发者设计的AI驱动的调试和架构助手,能够诊断崩溃、审查代码、发现多人游戏安全漏洞并指导架构决策。

  • by TheForgeDev
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 TheForgeDev/forge-ue5

使用说明

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和编辑器控制工具是 互补的。两者都使用可获得最佳效果。


贡献

欢迎拉取请求。要添加知识模块,请执行以下操作:

  1. 创建 knowledge/UE5_[Domain]_Guide_v1.0.md
  2. 添加主题→ 文件名映射到 KNOWLEDGE_MAP 在 server.py
  3. 遵循现有格式:概述、C++设置、常见错误、调试命令、代理规则
  4. 所有内容均为英文
  5. 提交附有简要说明的PR

路线图

  • [x] 核心知识库(30个文件)
  • [x] 带诊断工具的MCP服务器
  • [x] 懒惰的知识加载
  • [x] 会话内存
  • []编辑器控制工具(第2阶段——UnrealCrowe的分支)
  • []Git差异分析(“此提交会破坏什么?”)
  • []提交前安全扫描
  • []测试套件——25个问题的基准测试
  • [ ] 第3阶段:主动控制架构(v2.0) --超越被动调试。集成模型预测控制(MPC)求解器(OSQP),让Forge直接在发动机中主动优化机器人运动、先进的车辆动力学和GAS驱动的物理。

许可证

MIT——免费使用、修改和分发。代币成本始终是用户自己的。


Forge源于一个简单的问题:为什么同样的GAS崩溃需要每个开发人员几个小时才能找到,而答案总是一样的?目标:将30个积累的UE5 C++知识文件放入每个开发人员的上下文窗口中。