- Add MCP server with real Unreal Remote Execution Protocol (UDP 6766 + TCP 6776) - Implement 12 MCP tools: project intelligence, scene manipulation, debug/profiling, blueprint ops - Add enhanced .uasset parser with UE4/UE5 support - Create /blueprint-workflow skill (analyze, bp-to-cpp, cpp-to-bp, transform, optimize) - Include 21 passing tests - Add complete user documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.7 KiB
4.7 KiB
Unreal MCP Server - Plan d'Implementation
Vision
MCP server Python pour Unreal Engine offrant :
- Generation C++ production-ready (via CLAUDE.md)
- Workflow bidirectionnel Blueprint <-> C++
- Runtime interaction + debug
Differentiation : Seul MCP avec generation C++ + manipulation Blueprint + analyse statique.
Architecture
┌─────────────────────────────────────────┐
│ UNREAL MCP SERVER (Python) │
├─────────────────────────────────────────┤
│ Tools MCP │
│ ├── Project: get_spawnable_classes │
│ ├── Scene: spawn_actor │
│ ├── Debug: get_console_logs │
│ └── Blueprint: create_blueprint │
├─────────────────────────────────────────┤
│ Core │
│ ├── Unreal Connection (port 9998) │
│ ├── uasset Parser (fallback) │
│ └── IR (Intermediate Representation) │
└─────────────────────────────────────────┘
Stack Technique
{
"runtime": "Python 3.11+",
"mcp": "mcp (official Python SDK)",
"validation": "pydantic",
"blueprint_parser": "unreal_asset / custom",
"unreal_connection": "Remote Execution (port 9998)",
"testing": "pytest",
"linting": "ruff"
}
Phases d'Implementation
Phase 0 : Setup (Current)
- Architecture definie
- Init projet Python (pyproject.toml)
- Setup MCP SDK Python
- Structure dossiers
- Tests (pytest)
Phase 1 : Project Intelligence
get_spawnable_classes- Liste classes spawnablesget_project_assets- Inventaire assetsscan_cpp_classes- Parse Source/
Phase 2 : Scene Manipulation
spawn_actor- Spawn via Unreal APIget_scene_hierarchy- Arbre acteursmodify_actor_transform- Deplacer acteurs
Phase 3 : Debug Tools
get_console_logs- Logs temps reelanalyze_crash_dump- Debug crashesprofile_blueprint- Performance BP
Phase 4 : Blueprint Operations
read_blueprint- Parse .uassetcreate_blueprint_from_cpp- C++ -> BPexecute_python_script- Scripts custom
Phase 5 : Advanced (Future)
blueprint_to_cpp- BP -> C++ optimisetransform_blueprint- Round-trip modificationsoptimize_blueprint- Auto-optimization
Structure Projet
unreal-mcp/
├── pyproject.toml # Project config + dependencies
├── README.md
├── CLAUDE.md # Dev guide
├── src/
│ └── unreal_mcp/
│ ├── __init__.py
│ ├── server.py # MCP entry point
│ ├── tools/
│ │ ├── __init__.py
│ │ ├── project.py # get_spawnable_classes, get_project_assets
│ │ ├── scene.py # spawn_actor, get_scene_hierarchy
│ │ ├── debug.py # get_console_logs, analyze_crash
│ │ └── blueprint.py # read_blueprint, create_blueprint
│ ├── core/
│ │ ├── __init__.py
│ │ ├── unreal_connection.py # Connection Unreal Editor
│ │ └── uasset_parser.py # Parse .uasset files
│ └── utils/
│ ├── __init__.py
│ ├── logger.py
│ └── validation.py
├── tests/
│ ├── __init__.py
│ ├── test_tools/
│ └── test_core/
├── skills/
│ └── blueprint-workflow/
│ ├── skill.yaml
│ └── prompt.md
└── docs/
├── SPEC.md
├── IMPLEMENTATION_PLAN.md
└── REFERENCES.md
Challenges & Solutions
| Challenge | Solution |
|---|---|
| Format .uasset proprietaire | unreal_asset lib + fallback UAssetAPI |
| Editeur ferme | Fallback: scan Content/ + scripts Python |
| Equivalence BP->C++ | Tests comportementaux + warnings |
| Validation compilation | Syntax check + Epic standards |
Metriques Succes
- 100% code genere compile
- Response time < 2s
- 90%+ equivalence comportementale BP->C++
Next Steps
pyproject.toml+ structure dossiers- Setup MCP SDK Python basique
- Implementer
get_spawnable_classes - Unreal connection (Remote Execution)
Last update: 2026-01-20