Labsco
tahooki logo

Unreal-Blender MCP

โ˜… 12

from tahooki

A unified server to control Blender and Unreal Engine via AI agents.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

Unreal-Blender MCP

Unreal-Blender MCP is a unified server for controlling both Blender and Unreal Engine via AI agents using the MCP (Machine Control Protocol) approach.

Overview

This project extends the blender-mcp framework to include support for Unreal Engine, allowing AI agents like Claude and ChatGPT to simultaneously control both platforms through a single interface.

Submodule Information

This project includes blender-mcp as a Git submodule. When cloning the repository, use the following commands:

# Clone with submodules
git clone --recursive https://github.com/tahooki/unreal-blender-mcp.git

# Or clone normally and then initialize submodules
git clone https://github.com/tahooki/unreal-blender-mcp.git
cd unreal-blender-mcp
git submodule update --init --recursive

Features

  • Unified Control: Single MCP server to control both Blender and Unreal Engine
  • AI Agent Integration: Designed to work with Claude, ChatGPT, and other AI assistants
  • Blender Features: Retains all blender-mcp functionality including:
    • Scene manipulation
    • Object creation and editing
    • Material management
    • PolyHaven asset integration
    • Hyper3D Rodin model generation
  • Unreal Engine Features:
    • Level creation and management
    • Asset importing
    • Python code execution
    • Scene manipulation
  • Extension Structure: Easily extend both Blender addon and server while maintaining compatibility with upstream updates

Architecture

The system consists of three main components:

  1. MCP Server: Central hub communicating with AI agents via SSE (Server-Sent Events) on port 8000
  2. Blender Addon: Socket server within Blender on port 8400 (standard) or 8401 (extended)
  3. Unreal Plugin: HTTP server within Unreal Engine on port 8500
[AI Agent] <--SSE--> [MCP Server (8300)] 
                        |
                        |--HTTP--> [Blender Addon (8400)]
                        |
                        |--HTTP--> [Unreal Plugin (8500)]

Extension Structure

This project uses an extension approach to maintain compatibility with upstream changes:

  • Blender Addon Extension: Extends the original BlenderMCPServer while keeping the original code intact
  • Server Extension: Enhances the original server with additional tools and Unreal Engine integration
  • Interface Tools: Provides utilities for installing, configuring, and running extensions

This approach allows easy updates from the original projects without code conflicts.

Comparison: Standard vs Extended

FeatureStandard ServerExtended Server
Blender Controlโœ…โœ…
Unreal Controlโœ…โœ…
Custom Blender CommandsโŒโœ…
Enhanced Scene InfoโŒโœ…
Auto Feature DetectionโŒโœ…
Upstream Compatibilityโœ…โœ…

Choose the standard server for basic functionality or the extended server for advanced features.

Development

See the Project Document and workflow directory for detailed development information.

For extending this project:

  • To add new Blender addon features: Modify src/unreal_blender_mcp/blender_addon/extended_addon.py
  • To add new server tools: Modify src/unreal_blender_mcp/server_extension/extended_server.py

Future Developments

The following improvements are planned for future releases:

Structured Unreal Engine API

Currently, the Unreal Engine communication relies primarily on direct Python code execution. A planned enhancement is to implement a structured API similar to the Blender integration:

  • Create predefined functions for common Unreal Engine operations
  • Implement proper error handling and validation
  • Improve security by limiting execution scope
  • Enhance stability and predictability of operations
  • Maintain backward compatibility while adding structure

This enhancement will create a more consistent experience across both engines and improve the overall reliability of the system. See the workflow documentation for more details on this planned development.