Token导航 LogoToken导航TokenDH.com
Unreal Gen AI Support logo
开发工具stdio官方级别未说明来源级核验

Unreal Gen AI Support

MCP Server

UnrealMCP is here!! Automatic blueprint and scene generation from AI!! An Unreal Engine plugin for LLM/GenAI models \u0026 MCP UE5 server. Supports Claude Desktop App, Windsurf \u0026 Cursor, also includes OpenAI's GPT4o, DeepseekR1, Claude Sonnet 3.7 APIs and Grok 3, with plans to add Gemini, audio \u0026 realtime APIs soon.

工具数

0

提示词数

0

GitHub Stars

587

资源数

0
C++PythonClaudeClaude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

prajwalshettydev

提供方

prajwalshettydev

最后核验

2026/5/18 04:06

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install fastmcp

详细介绍

Unreal Engine Fab Plugins C++ Platform AI Models MCP ![License: MIT](LICENSE) ![Discord](https://discord.com/invite/KBWmkCKv5U)

使用示例:

MCP示例:

Claude生成场景对象并控制其变换和材质,生成蓝图、函数、变量,添加组件,运行python脚本等。

API示例:

一个名为“成为人类”的项目,其中NPC是OpenAI代理实例。使用此插件构建。 Become Human

虚幻引擎生成AI支持插件:

每个月,各种组织都会发布数百种新的人工智能模型,这使得很难跟上最新的进展。

“虚幻引擎生成AI支持插件”允许您专注于游戏开发,而无需担心LLM/GenAI集成层。

当前进展:

此插件将继续获得最新功能和型号的更新。欢迎捐款。 对于具有200多个AI模型、有保证的稳定性、自动化测试和UE 5.1-5.7+支持的生产就绪替代品,请查看下面的专业插件。 这个免费插件涵盖了许多用例(包括上面的示例),你可以永远免费使用它。

Fab.com上的专业插件

Gen AI Pro

gpt-5.4 claude-opus-4-6 gemini-3.1-pro grok-4.1 o3-pro eleven_v3

Chat, Vision, Streaming, Realtime, Image Gen, TTS, Structured Output, Tool Use

Gen AI Pro China

qwen3.5-plus kimi-k2.5 glm-5 seed-2-0 ernie-5.0 seedream-4

Worldwide support, Chat, Vision, Image Gen, TTS, Reasoning

GenAI Model Generator

meshy-6 tripo-v2.5 hunyuan3d-v3.1 trellis-2 rodin-gen-2

Text-to-3D, Image-to-3D, Remesh, PBR Textures, Retexture, Auto-Rigging

Gen AI Llama

Ollama vLLM LM Studio GGUF Jan LocalAI GPT-oss LLaVA

Local LLMs inside your Unreal Engine game - no API keys needed

______________________________________________________________________

免费插件(此Repo)-LLM/GenAI API支持:

  • 开放人工智能:聊天(gpt-4.1, gpt-4.1-mini, o4-mini, o3, o3-pro),结构化输出
  • 安thropic克劳德:聊天(claude-4-latest, claude-3-7-sonnet, claude-3-5-sonnet, claude-3-5-haiku)
  • XAI Grok:聊天(grok-3-latest, grok-3-mini-beta)
  • 深度求索:聊天(deepseek-chat V3.1),推理(deepseek-reasoning-r1)
  • 本地AI: 麻省理工学院(MIT) - gpt-oss, qwen3-vl 以及更多

Full Model List (200+ models across all plugins)

Gen AI Pro

  • 开放人工智能: gpt-5.4, gpt-5.4-pro, gpt-5.3-codex, gpt-5.2, gpt-5.1, gpt-5, gpt-5-mini, gpt-5-nano, gpt-4.1, o4-mini, o3, o3-pro |响应API、愿景、实时(gpt-realtime),图像生成器(gpt-image-1.5, dall-e-3),TTS(gpt-4o-mini-tts, whisper-1),流媒体,函数调用,多模式
  • 人类: claude-opus-4-6, claude-sonnet-4-6, claude-4.5-opus, claude-4.5-sonnet, claude-4.5-haiku |扩展思维、愿景、工具使用
  • 谷歌双子座: gemini-3.1-pro, gemini-3.1-flash-lite, gemini-2.5-pro, gemini-2.5-flash |图像(imagen-4.0-generate, imagen-4.0-ultra)、实时、TTS、多模式
  • XAI Grok: grok-4.1, grok-4, grok-4-eu, grok-code-fast-1, grok-3 |视觉、流媒体、推理
  • 十一实验室:TTS(eleven_v3, eleven_turbo_v2_5),转录(scribe_v2),音效(eleven_text_to_sound_v2)
  • 全球人工智能:TTS(inworld-tts-1.5-max, inworld-tts-1.5-mini)
  • OpenAI兼容模式:阿里巴巴Qwen、Mistral、Groq、OpenRouter、Meta Llama、GLM-4、Ollama

Gen AI Pro中国

  • 阿里巴巴Qwen: qwen3.5-plus, qwen3.5-flash, qwen3-max, qwen3-coder-plus |多式联运(qwen-omni-turbo, qwen-vl-max),图像生成器(qwen-image, wan2.2-t2i-plus),TTS(qwen3-tts-flash)
  • 登月计划/基米: kimi-k2.5, kimi-k2-thinking, kimi-k2-thinking-turbo |多式联运(kimi-latest)
  • 字节跳动: seed-2-0-mini, seed-1-8, skylark-pro-250415 |愿景(skylark-vision),图像生成器(seedream-4-0-250828)
  • 智普艾: glm-5, glm-4.7, glm-4.7-flash |多式联运(glm-4.6v)
  • 百度: ernie-5.0-8k, ernie-4.5-8k, ernie-x1-32k

GenAI模型生成器(3D)

  • 网格AI: meshy-6 -文本转3D,图像转3D,重新组合,自动装配
  • Tripo AI: tripo-v2.5 -文本转3D,图像转3D
  • 浑源3D (腾讯): hunyuan3d-v3.1-pro 文本转3D, hunyuan3d-v2.1 图像转3D
  • 三脚架:图像转换为3D(快速,\

附加功能:

  • 插件示例项目 这里
  • 版本控制:Git子模块支持,Perforce(进行中)
  • 轻量级:无外部依赖,从构建中排除MCP
  • 跨平台和引擎版本的测试(在专业插件中可用)

虚幻MCP(模型控制协议):

其他MCP选项: Epic Games正在为UE 5.8+开发虚幻MCP官方集成。还有 不合理的赞美 Natfii(麻省理工学院)-一个值得一试的独立虚幻MCP实现。此插件的MCP支持针对UE 5.4-5.7+,可与Claude Desktop、Claude Code和Cursor配合使用。 注: 这个免费插件中的MCP没有得到积极开发——下面列出的功能反映了当前的状态。

MCP Feature Status (✅ = Done, 🛠️ = In Progress, 🚧 = Planned)

  • 客户支持✅

- Claude桌面应用程序支持✅ - Claude代码CLI支持✅ - 游标IDE支持✅ - OpenAI运营商API支持🚧

  • 蓝图汽车生成🛠️

- 创建新的类型蓝图✅ - 添加新函数、函数/蓝图变量✅ - 添加节点和连接🛠️ (有问题,问题未解决) - 高级蓝图生成🛠️

  • LLM的级别/场景控制🛠️

- 生成物体和形状✅ - 移动、旋转和缩放对象✅ - 更改材质和颜色✅ - 高级场景功能🛠️

  • 生成型人工智能:

- 提示获取和生成3D模型🛠️

  • 控制:

- 能够运行Python脚本✅ - 能够运行控制台命令✅

  • UI:

- 小部件生成🛠️ - UI蓝图生成🛠️

  • 项目文件:

- 创建/编辑项目文件/文件夹️✅ - 删除现有项目文件❌

  • 其他:

- 项目清理🛠️

目录

- 对于编辑 - 对于打包建筑

- 使用Git - 与Perforce - Fab(虚幻市场)

- 使用Git - 与Perforce

- 开放人工智能 - 1.聊天 - 2.结构化输出 - DeepSeek API - 1.聊天和推理 - 无烟煤API - 1.聊天 - XAI的Grok 3 API - 1.聊天 - 模型控制协议(MCP)

- 为发展而设立 - 项目结构

设置API密钥:

\[!注意\]\ 不需要设置API密钥来测试Claude应用程序中的MCP功能。只有Claude API需要使用无烟煤钥匙。

对于编辑:

设置环境变量 PS_ 到您的API密钥。

对于Windows:

setx PS_ "your api key"

对于Linux/MacOS:

  1. 在终端中运行以下命令,将您的密钥替换为API密钥。
   echo "export PS_='yourkey'" >> ~/.zshrc
  1. 使用新变量更新shell:
   source ~/.zshrc

PS:设置环境变量后,不要忘记重新启动编辑器和连接的IDE。

哪里 ` 可以是: PS_OPENAIAPIKEY, PS_DEEPSEEKAPIKEY, PS_ANTHROPICAPIKEY, PS_METAAPIKEY, PS_GOOGLEAPIKEY` 等等

对于打包构建:

将API密钥存储在打包的构建中是一个安全风险。以下是OpenAI API文档对它的描述:

“在浏览器或移动应用程序等客户端环境中暴露您的OpenAI API密钥会让恶意用户获取该密钥并代表您提出请求,这可能会导致意外收费或某些帐户数据泄露。请求应始终通过您自己的后端服务器进行路由,在那里您可以确保API密钥的安全。”

阅读更多 这里.

对于测试构建,您可以调用 GenSecureKey::SetGenAIApiKeyRuntime 使用打包构建中的API键,使用c++或blueprint函数。

设置MCP:

\[!注意\]\ 如果您的项目只使用LLM API而不使用MCP,则可以跳过本节。
\[!小心\]\ Discalimer:如果你使用的是插件的MCP功能,它将直接让Claude Desktop App控制你的虚幻引擎项目。 确保您了解安全风险,并且只在受控环境中使用它。 请在使用MCP功能之前备份您的项目,并使用版本控制来跟踪更改。

1.安装以下任一客户端:

  • Claude桌面应用程序来自 这里.
  • Claude代码命令行界面 这里.
  • 光标IDE来自 这里.

2.设置mcp配置json:

对于Claude桌面应用程序:

claude_desktop_config.json Claude Desktop App安装目录中的文件。(可能会问克劳德,你的平台在哪里!) 文件看起来像这样:

{
    "mcpServers": {
      "unreal-handshake": {
        "command": "python",
        "args": ["/Plugins/GenerativeAISupport/Content/Python/mcp_server.py"],
        "env": {
          "UNREAL_HOST": "localhost",
          "UNREAL_PORT": "9877" 
        }
      }
    }
}

对于Claude Code CLI:

.mcp.json 项目根目录中的文件。文件看起来像这样:

{
    "mcpServers": {
      "unreal-handshake": {
        "type": "stdio",
        "command": "python",
        "args": ["/Plugins/GenerativeAISupport/Content/Python/mcp_server.py"],
        "env": {
          "UNREAL_HOST": "localhost",
          "UNREAL_PORT": "9877"
        }
      }
    }
}

对于游标IDE:

.cursor/mcp.json 项目目录中的文件。文件看起来像这样:

{
    "mcpServers": {
      "unreal-handshake": {
        "command": "python",
        "args": ["/Plugins/GenerativeAISupport/Content/Python/mcp_server.py"],
        "env": {
          "UNREAL_HOST": "localhost",
          "UNREAL_PORT": "9877"
        }
      }
    }
}

3.安装FastMCP。

pip install fastmcp

4.在虚幻引擎中启用python插件。(编辑->插件->Python编辑器脚本插件)

5.\[可选\]在编辑器打开时启用AutoStart MCP服务器

将插件添加到您的项目中:

使用Git:

  1. 将插件库作为子模块添加到项目的存储库中。
   git submodule add https://github.com/prajwalshettydev/UnrealGenAISupport Plugins/GenerativeAISupport
  1. 重新生成项目文件:

右键单击.uproject文件,然后选择“生成Visual Studio项目文件”。

  1. 在虚幻编辑器中启用插件:

在虚幻编辑器中打开您的项目。转到编辑>插件。在列表中搜索插件并启用它。

  1. 对于虚幻C++项目,将插件的模块包含在项目的Build.cs文件中:
   PrivateDependencyModuleNames.AddRange(new string[] { "GenerativeAISupport" });

使用Perforce:

仍在开发中。.

Fab(虚幻市场):

这个免费插件可以通过Git(上图)获得。对于专业插件,请检查 Fab.com.

获取最新插件更改:

使用Git:

您可以通过以下方式获取最新更改:

cd Plugins/GenerativeAISupport
git pull origin main

或者更新项目中的所有子模块:

git submodule update --recursive --remote

使用Perforce:

仍在开发中。.

用途:

有一个示例虚幻项目已经实现了该插件。你可以找到它 这里.

OpenAI:

目前该插件支持OpenAI API的聊天和结构化输出。既适用于C++,也适用于蓝图。 测试型号: gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o4-mini, o3, o3-pro, o3-mini.

1.聊天:

C++示例:

    void SomeDebugSubsystem::CallGPT(const FString& Prompt, 
        const TFunction& Callback)
    {
        FGenChatSettings ChatSettings;
        ChatSettings.Model = TEXT("gpt-4o-mini");
        ChatSettings.MaxTokens = 500;
        ChatSettings.Messages.Add(FGenChatMessage{ TEXT("system"), Prompt });
    
        FOnChatCompletionResponse OnComplete = FOnChatCompletionResponse::CreateLambda(
            [Callback](const FString& Response, const FString& ErrorMessage, bool bSuccess)
        {
            Callback(Response, ErrorMessage, bSuccess);
        });
    
        UGenOAIChat::SendChatRequest(ChatSettings, OnComplete);
    }

蓝图示例:

2.结构化输出:

C++示例1:

将自定义模式json直接发送到函数调用

FString MySchemaJson = R"({
"type": "object",
"properties": {
    "count": {
        "type": "integer",
        "description": "The total number of users."
    },
    "users": {
        "type": "array",
        "items": {
            "type": "object",
            "properties": {
                "name": { "type": "string", "description": "The user's name." },
                "heading_to": { "type": "string", "description": "The user's destination." }
            },
            "required": ["name", "role", "age", "heading_to"]
        }
    }
},
"required": ["count", "users"]
})";

UGenAISchemaService::RequestStructuredOutput(
    TEXT("Generate a list of users and their details"),
    MySchemaJson,
    [](const FString& Response, const FString& Error, bool Success) {
       if (Success)
       {
           UE_LOG(LogTemp, Log, TEXT("Structured Output: %s"), *Response);
       }
       else
       {
           UE_LOG(LogTemp, Error, TEXT("Error: %s"), *Error);
       }
    }
);

C++示例2:

从文件发送自定义模式json

#include "Misc/FileHelper.h"
#include "Misc/Paths.h"
FString SchemaFilePath = FPaths::Combine(
    FPaths::ProjectDir(),
    TEXT("Source/:ProjectName/Public/AIPrompts/SomeSchema.json")
);

FString MySchemaJson;
if (FFileHelper::LoadFileToString(MySchemaJson, *SchemaFilePath))
{
    UGenAISchemaService::RequestStructuredOutput(
        TEXT("Generate a list of users and their details"),
        MySchemaJson,
        [](const FString& Response, const FString& Error, bool Success) {
           if (Success)
           {
               UE_LOG(LogTemp, Log, TEXT("Structured Output: %s"), *Response);
           }
           else
           {
               UE_LOG(LogTemp, Error, TEXT("Error: %s"), *Error);
           }
        }
    );
}

蓝图示例:

DeepSeek API:

目前该插件支持DeepSeek API的聊天和推理。既适用于C++,也适用于蓝图。 注意事项:

  • 系统消息目前对推理模型是强制性的。API似乎返回null
  • 此外,在文档中:“请注意,如果输入消息序列中包含reasoning_content字段,API将返回400错误。

阅读更多 这里"

\[!警告\]\ 在使用R1推理模型时,确保虚幻引擎的HTTP超时不是30秒的默认值。 因为这些API调用可能需要30秒以上的时间才能响应。只需设置 HttpRequest->SetTimeout(); 不够 因此,需要将以下行添加到您的项目中 DefaultEngine.ini 文件: ``ini [HTTP] HttpConnectionTimeout=180 HttpReceiveTimeout=180 ``

1.聊天和推理:

C++示例:

 FGenDSeekChatSettings ReasoningSettings;
 ReasoningSettings.Model = EDeepSeekModels::Reasoner; // or EDeepSeekModels::Chat for Chat API
 ReasoningSettings.MaxTokens = 100;
 ReasoningSettings.Messages.Add(FGenChatMessage{TEXT("system"), TEXT("You are a helpful assistant.")});
 ReasoningSettings.Messages.Add(FGenChatMessage{TEXT("user"), TEXT("9.11 and 9.8, which is greater?")});
 ReasoningSettings.bStreamResponse = false;
 UGenDSeekChat::SendChatRequest(
     ReasoningSettings,
     FOnDSeekChatCompletionResponse::CreateLambda(
         [this](const FString& Response, const FString& ErrorMessage, bool bSuccess)
         {
             if (!UTHelper::IsContextStillValid(this))
             {
                 return;
             }

             // Log response details regardless of success
             UE_LOG(LogTemp, Warning, TEXT("DeepSeek Reasoning Response Received - Success: %d"), bSuccess);
             UE_LOG(LogTemp, Warning, TEXT("Response: %s"), *Response);
             if (!ErrorMessage.IsEmpty())
             {
                 UE_LOG(LogTemp, Error, TEXT("Error Message: %s"), *ErrorMessage);
             }
         })
 );

蓝图示例:

无烟煤API:

目前该插件支持来自Anthropic API的聊天。既适用于C++,也适用于蓝图。 测试型号: claude-4-latest, claude-3-7-sonnet-latest, claude-3-5-sonnet, claude-3-5-haiku-latest.

1.聊天:

C++示例:

    // ---- Claude Chat Test ----
    FGenClaudeChatSettings ChatSettings;
    ChatSettings.Model = EClaudeModels::Claude_3_7_Sonnet; // Use Claude 3.7 Sonnet model
    ChatSettings.MaxTokens = 4096;
    ChatSettings.Temperature = 0.7f;
    ChatSettings.Messages.Add(FGenChatMessage{TEXT("system"), TEXT("You are a helpful assistant.")});
    ChatSettings.Messages.Add(FGenChatMessage{TEXT("user"), TEXT("What is the capital of France?")});
    
    UGenClaudeChat::SendChatRequest(
        ChatSettings,
        FOnClaudeChatCompletionResponse::CreateLambda(
            [this](const FString& Response, const FString& ErrorMessage, bool bSuccess)
            {
                if (!UTHelper::IsContextStillValid(this))
                {
                    return;
                }
    
                if (bSuccess)
                {
                    UE_LOG(LogTemp, Warning, TEXT("Claude Chat Response: %s"), *Response);
                }
                else
                {
                    UE_LOG(LogTemp, Error, TEXT("Claude Chat Error: %s"), *ErrorMessage);
                }
            })
    );

蓝图示例:

XAI的Grok 3 API:

目前该插件支持来自XAI的Grok 3 API的聊天。既适用于C++,也适用于蓝图。

1.聊天:

	FGenXAIChatSettings ChatSettings;
	ChatSettings.Model = TEXT("grok-3-latest");
		ChatSettings.Messages.Add(FGenXAIMessage{
		TEXT("system"),
		TEXT("You are a helpful AI assistant for a game. Please provide concise responses.")
	});
	ChatSettings.Messages.Add(FGenXAIMessage{TEXT("user"), TEXT("Create a brief description for a forest level in a fantasy game")});
	ChatSettings.MaxTokens = 1000;

	UGenXAIChat::SendChatRequest(
		ChatSettings,
		FOnXAIChatCompletionResponse::CreateLambda(
			[this](const FString& Response, const FString& ErrorMessage, bool bSuccess)
			{
				if (!UTHelper::IsContextStillValid(this))
				{
					return;
				}
				
				UE_LOG(LogTemp, Warning, TEXT("XAI Chat response: %s"), *Response);
				
				if (!bSuccess)
				{
					UE_LOG(LogTemp, Error, TEXT("XAI Chat error: %s"), *ErrorMessage);
				}
			})
	);

模型控制协议(MCP):

这项工作目前正在进行中。该插件支持各种客户端,如Claude Desktop App、Cursor等。

用途:

如果启用了自动启动MCP服务器:(在插件的设置中)

1.打开虚幻引擎编辑器。

2.打开克劳德桌面应用程序、克劳德代码CLI或光标IDE。

就是这样!现在,您可以使用该插件的MCP功能。

如果禁用自动启动MCP服务器:

1.从插件的python目录运行MCP服务器。

python /Plugins/GenerativeAISupport/Content/Python/mcp_server.py

2.通过打开或重新启动Claude桌面应用程序或Cursor IDE来运行MCP客户端。

3.打开一个新的虚幻引擎项目,并从插件的python目录运行以下python脚本。

工具->运行Python脚本->选择 Plugins/GenerativeAISupport/Content/Python/unreal_socket_server.py 文件。

4.现在,您应该能够提示Claude桌面应用程序使用虚幻引擎。

已知问题:

  • 节点无法与MCP正确连接
  • MCP不支持撤消重做
  • Deepseek推理模型不支持流媒体
  • 创建材质工具不支持复杂的材质生成
  • 运行一些llm生成的有效python脚本时出现问题
  • 当LLM编译蓝图时,其响应中没有适当的错误处理
  • 生成某些节点的问题,尤其是使用getter和setter时
  • 在编辑场景和项目文件时,不会打开正确的上下文窗口。
  • 无法在蓝图编辑器中正确停靠窗口。

贡献指南:

为发展而设立:

  1. 安装 unreal python包,并设置IDE的python解释器以实现适当的智能感知。
pip install unreal

更多细节将很快添加。

项目结构:

更多细节将很快添加。

参考文献

  • 环境变量集逻辑

发件人: KellanM的OpenAI Api虚幻

  • MCP服务器灵感

发件人: ahujasid的混合机MCP

快速链接:

支持这个项目

如果你觉得UnrealGenAISupport有帮助,可以考虑赞助我继续这个项目!点击上面的“赞助商”按钮进行贡献。

目录标签

目录标签

C++PythonClaudedeveloper-toolslightweightmetamcpgame-developmentgeminiopenaillama本地部署生成式AI虚幻引擎插件AI集成游戏开发虚拟场景

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP