UnrealGenAISupport
Unreal Engine 5 生成式AI插件,让游戏NPC用大模型自然对话,支持200+模型API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Unreal Engine 5 生成式AI插件,让游戏NPC用大模型自然对话,支持200+模型API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你走进一家网吧,打开 Unreal Engine 5,点开插件市场,搜索"AI Support"——然后你的游戏角色就能和玩家用自然语言对话了。这不是什么科幻设想,prajwalshettydev/UnrealGenAISupport 正在把这件事变成现实。
图1:MCP模式下,Claude直接控制UE场景中的Actor变换、材质和蓝图生成
这个插件由独立开发者 Prajwal Shetty 于2024年11月创建,是一个专为 Unreal Engine 5 设计的生成式AI集成插件,支持200+大模型API,让游戏开发者无需手写网络请求层,直接在蓝图或C++中调用GPT-5、Claude Opus、DeepSeek R1、Gemini等模型的能力。
传统的游戏NPC对话系统,需要策划写脚本、程序员写状态机、配音演员录音效——每加一个角色都是巨大的工程量。而大语言模型出现后,业界很快意识到:让NPC"真正思考"而不是"播放预设台词",才是下一代游戏AI的方向。
然而现实很骨感:每个模型的API调用方式、数据格式、认证机制都不一样。把OpenAI、Anthropic、Google、XAI的接口都接一遍,光是网络层代码就够喝一壶的——何况游戏开发本身才是正事。
UnrealGenAISupport 解决的就是这个痛点:它把底层差异全部封装掉,对上暴露统一的蓝图节点和C++接口,开发者只需要关注"我要让NPC做什么",而不是"怎么调API"。
插件整体分为三个核心模块,分工明确:
Runtime层(GenerativeAISupport):运行时代码,处理HTTP请求和API调用。核心类包括:
GenOAIChat:OpenAI/GPT系列模型的聊天接口,基于 UCancellableAsyncAction 实现异步请求,支持 Blueprint Latent Function 调用GenClaudeChat:Anthropic Claude系列接口,处理流式和非流式两种响应模式GenDSeekChat:DeepSeek R1 等国产模型的支持GenXAIChat:XAI Grok系列每个模型类都继承自 UCancellableAsyncAction,提供 OnComplete 多播委托,让蓝图层和C++层都可以订阅响应结果。这是 Unreal 异步编程的标准范式。
Editor层(GenerativeAISupportEditor):编辑器扩展,提供插件配置界面和MCP服务器管理窗口。通过 Slate UI(UE5的编辑器UI框架)构建,包含:
GenEditorWindow:主配置界面,集成API Key配置、MCP服务器状态监控GenActorUtils:编辑器工具,用于通过MCP协议控制Actor(生成/变换/材质替换)GenBlueprintNodeCreator:蓝图节点创建器,在编辑器中自动生成AI相关的蓝图节点Python层(MCP Server):这是一个很有意思的设计——插件内置了一个独立的 Python MCP 服务器进程,通过 TCP Socket 与 Unreal Editor 通信。这解决了两个问题:
MCP 服务器使用 fastmcp 框架注册了约10个工具,包括 spawn_actor(生成Actor)、add_component(添加组件)、set_transform(设置变换)等——这些工具让 LLM 能够真正"操控"游戏引擎,而不只是"查询"游戏状态。
图2:Become Human项目展示了NPC作为OpenAI Agent自主行动的能力
插件安装方式与其他 UE Marketplace 插件无异:将插件文件夹放入项目的 Plugins/ 目录,重新生成项目文件即可。安装后:
方式一:蓝图调用(零代码)
在蓝图编辑器中,找到 GenAI 分类下的节点,例如 RequestOpenAIChat。只需传入聊天设置(模型、API Key、系统提示、用户消息),即可获得异步响应。连上 UI,就是一个完整的对话界面。
图3:编辑器内的Claude聊天蓝图配置界面
方式二:C++调用(高性能)
对于需要深度定制的场景,可以直接调用 UGenOAIChat::RequestOpenAIChat() 或 UGenClaudeChat::RequestClaudeChat()。这些方法底层使用 Unreal 的 IHttpRequest,自动处理证书、超时和取消逻辑。
方式三:MCP协议(AI Agent操控引擎)
这是最令人兴奋的场景。配置好 Claude Desktop 的 MCP 端点后,可以直接用自然语言命令 Claude 操作 Unreal:"在场景中央生成一个立方体"、"把地面材质改成草地"——Claude 会自动调用对应的 MCP 工具完成任务。
插件通过统一的数据结构 FGenChatSettings 和 FGenClaudeChatSettings 抽象了不同模型的请求格式差异,支持的模型包括:
此外还支持图像生成(Stable Diffusion系)、视觉理解(多模态模型)和结构化输出(JSON Mode / Schema)。
优点:
局限:
适合场景:
UnrealGenAISupport 的出现,反映了一个更广泛的趋势:AI能力正在从"云端"向"编辑器内"下沉。传统的 AI 集成需要游戏团队维护专门的工程资源,而现在一个插件就能搞定。
从数据来看,插件在发布不到一年内获得了超过600+ GitHub Stars、98个Fork,且持续更新维护。作者 Prajwal Shetty 还提供了 Fab.com 上的 Pro 版本(付费),提供自动化测试、200+模型保证和更稳定的 API——这是一个有意思的商业模式:开源免费版引流,Pro版变现。
随着 Claude 3.7/5、Grok 4 等模型的工具调用能力越来越强,MCP 协议的采用率越来越高,这类"引擎级AI集成插件"很可能会成为游戏开发的标配。
图4:插件编辑器窗口,实时监控MCP服务器和API配置状态