Export Unreal Engine 5 blueprints to JSON and Markdown for AI-powered analysis
Transform your UE5 blueprints into Claude Code-friendly documentation. Ask questions about your project in natural language, understand complex blueprint logic, and generate comprehensive documentation automatically.
Problem: UE5 blueprints are visual and locked inside .uasset files. You can't:
- Search across all blueprints easily
- Ask AI questions about your blueprint logic
- Generate documentation automatically
- Understand complex blueprint relationships
Solution: This tool extracts everything from your blueprints into readable formats:
Ask Claude Code: "How does BP_PlayerCharacter handle movement?"
Claude reads the exported data and explains:
✓ Input actions (IA_Move, IA_Look)
✓ Movement functions (Add Movement Input)
✓ Direction vectors (Forward/Right)
✓ Complete execution flow
| Feature | Description |
|---|---|
| 🔍 Full Graph Extraction | Complete node graphs with connections, pins, and default values |
| 📊 Variables & Functions | All blueprint variables, functions, parameters, and return types |
| 🔧 Components | Component hierarchy with class information |
| 🔗 Dependencies | Track all asset references and dependencies |
| 📄 Dual Output | JSON (machine-readable) + Markdown (AI-friendly) |
| 🤖 Claude Code Ready | Optimized for natural language queries |
Option A: Automated with Claude Code 🚀 (Recommended)
-
Clone this repository:
git clone https://github.com/YOUR_USERNAME/UE5-Blueprint-Exporter.git cd UE5-Blueprint-Exporter -
Start Claude Code:
claude-code
-
In Claude Code, type the slash command:
/setup-ue5-project -
Provide your UE5 project path when asked
-
Claude Code will automatically:
- ✅ Copy plugin files to your project
- ✅ Copy Python scripts to your project
- ✅ Generate your custom export command
- ✅ Show you the next steps
That's it! No manual file copying needed.
Option B: Manual
Copy to your UE5 project:
YourProject/
├── Plugins/
│ └── BlueprintExporter/ ← Copy entire folder
└── Content/
└── Python/ ← Copy Python scripts
├── blueprint_watcher.py
└── generate_markdown_from_json.py
- Open your project in UE5 Editor
- Go to Edit → Plugins
- Search "Python Editor Script Plugin"
- Enable and Restart editor
Automatic (Recommended):
- Right-click your
.uprojectfile - Select "Generate Visual Studio/Xcode project files"
- Re-open the project
- Click "Yes" when UE5 asks to compile the plugin
Manual (if needed):
- See SETUP_INSTRUCTIONS.md for detailed compilation steps
In UE5 Editor:
- Open Window → Developer Tools → Output Log (check the Output Log for results)
- At the bottom, find the Python command input field (looks like:
Cmd: ▊) - Run this single-line command (all on ONE line):
import sys; sys.path.append("/Users/yourname/Documents/Unreal Projects/YourProject/Content/Python"); import blueprint_watcher; blueprint_watcher.main()Real Example:
import sys; sys.path.append("/Users/fromastermarv/Documents/Unreal Projects/BlueprintDemo3/Content/Python"); import blueprint_watcher; blueprint_watcher.main()- Press Enter
- Check the Output Log window (not the Python console) for results
Alternative Method (Better for Debugging):
Use the simplified test script (use ABSOLUTE path):
py "/ABSOLUTE/PATH/TO/YOUR/PROJECT/Content/Python/test_export.py"Example:
py "/Users/fromastermarv/Documents/Unreal Projects/BlueprintDemo3/Content/Python/test_export.py"This runs the export with better error reporting visible in the Output Log.
You'll see in Output Log:
============================================================
UE5 Blueprint Exporter for Claude Code
============================================================
Export complete! Exported 50 blueprints
HOW TO USE WITH CLAUDE CODE:
------------------------------------------------------------
Copy this prompt:
I have exported UE5 blueprints to /Your/Project/ClaudeCodeDocs/Blueprints/
Please read the index.md file to see all available blueprints,
then answer my questions about the blueprint logic.
------------------------------------------------------------
Example questions:
- How does BP_FirstPersonCharacter handle movement?
- Walk me through the weapon firing sequence
YourProject/ClaudeCodeDocs/Blueprints/
├── index.md # Overview with all blueprints
│
├── Characters/
│ ├── BP_PlayerCharacter.json # Full blueprint data
│ ├── BP_PlayerCharacter.md # Human-readable summary
│ ├── BP_Enemy.json
│ └── BP_Enemy.md
│
└── Weapons/
├── BP_Rifle.json
└── BP_Rifle.md
# BP_PlayerCharacter
**Type:** Blueprint
**Parent Class:** Character
**Generated Class:** BP_PlayerCharacter_C
## Components
- FirstPersonCamera (CameraComponent)
- FirstPersonMesh (SkeletalMeshComponent)
## Variables
| Name | Type | Default |
|------|------|---------|
| Health | float | 100.0 |
| bHasRifle | bool | false |
## Graphs
### EventGraph
**Total Nodes:** 24
**Event Nodes:**
- Event BeginPlay
**Function Calls:**
- Jump
- Add Movement Input
- Get Actor Forward Vector
- Add Controller Pitch Input
## Dependencies
- /Game/FirstPerson/Input/Actions/IA_Move
- /Game/FirstPerson/Input/Actions/IA_JumpOnce exported, use Claude Code to analyze your blueprints in natural language:
cd /path/to/your/ue5/project
claude-codeUnderstanding Logic:
"How does BP_PlayerCharacter handle movement?"
Finding Connections:
"What blueprints depend on BP_GameMode?"
Exploring Components:
"List all weapons in my project and their components"
Variables & State:
"Show me all blueprints with a 'Health' variable"
Debugging:
"Which blueprints call the 'TakeDamage' function?"
| Data Type | Details |
|---|---|
| Graphs | EventGraph, UserConstructionScript, Custom Functions |
| Nodes | Node type, title, category, position (x, y) |
| Pins | Name, direction, type, default values |
| Connections | Node-to-node execution flow |
| Variables | Name, type, category, default value, exposed status |
| Functions | Name, parameters, return type, graph implementation |
| Components | Name, class, hierarchy |
| Dependencies | All referenced assets, blueprints, and classes |
Edit Content/Python/blueprint_watcher.py to customize:
# Output directory (relative to project root)
OUTPUT_DIR = "ClaudeCodeDocs/Blueprints"
# Generate markdown files (recommended for Claude Code)
GENERATE_MARKDOWN = True
# Include detailed graph nodes (requires C++ plugin)
INCLUDE_GRAPH_NODES = True| Component | Requirement |
|---|---|
| Unreal Engine | 5.0 or higher (tested on 5.3) |
| Python | 3.x (included with UE5) |
| C++ Compiler | Xcode (Mac) or Visual Studio 2019/2022 (Windows) |
| Claude Code | Optional, for AI-powered analysis |
- SETUP_INSTRUCTIONS.md - Detailed installation guide with troubleshooting
- BLUEPRINT_EXPORTER_README.md - Architecture, design decisions, and MVP details
┌─────────────────────────────────────────┐
│ UE5 Editor (Python Plugin) │
│ blueprint_watcher.py │
│ • Orchestrates export │
│ • Generates markdown │
└──────────────┬──────────────────────────┘
│ calls C++ API
▼
┌─────────────────────────────────────────┐
│ C++ Plugin (BlueprintExporter) │
│ BlueprintExporter.cpp │
│ • Extracts graph nodes │
│ • Serializes to JSON │
│ • Accesses internal blueprint data │
└──────────────┬──────────────────────────┘
│ writes files
▼
┌─────────────────────────────────────────┐
│ Output: ClaudeCodeDocs/Blueprints/ │
│ • .json (full graph data) │
│ • .md (human-readable) │
│ • index.md (project overview) │
└─────────────────────────────────────────┘
✅ Solution:
- Check the Output Log window (not the Python console) - that's where
unreal.log()messages appear - Look for text starting with "UE5 Blueprint Exporter for Claude Code"
- If you see nothing, the script may have crashed silently
✅ Solution: Use the test script for better error reporting (use absolute path):
py "/absolute/path/to/your/project/Content/Python/test_export.py"This will show detailed error messages in the Output Log.
✅ Problem: UE5 Python console can't handle newlines properly
Solution: Always use single-line commands:
# ✅ CORRECT (single line)
import sys; sys.path.append("/path/to/Python"); import blueprint_watcher; blueprint_watcher.main()
# ❌ WRONG (multi-line - will fail)
import sys
sys.path.append("/path/to/Python")
import blueprint_watcher
blueprint_watcher.main()Or use py "path/to/script.py" to run a script file.
✅ Solution:
- Verify plugin compiled (check Edit → Plugins)
- Look for "Blueprint Exporter" (should be enabled)
- Try regenerating project files and rebuilding
✅ Solution:
- Use absolute path in the Python command
- Verify
blueprint_watcher.pyexists inContent/Python/ - Check for typos in the path
✅ Solution: The export might have failed silently. Check:
- Run
py "/absolute/path/to/your/project/Content/Python/test_export.py"for detailed errors - Verify the plugin is compiled and enabled
- Check Output Log for error messages
✅ Solution:
- Install Xcode Command Line Tools:
xcode-select --install - Verify UE5 version matches (built for 5.3)
Contributions are welcome! This is an open-source tool for the UE5 and AI community.
- Auto-refresh - Watch for blueprint changes and auto-export
- MCP Server - Model Context Protocol integration
- Blueprint Diff - Compare blueprint versions
- Visual Graphs - Generate node graph images
- Search Interface - Web UI for blueprint search
- Blueprint Stats - Complexity metrics and analysis
To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - See LICENSE file for details.
Feel free to use in personal and commercial projects!
Built for: Claude Code by Anthropic
Technologies:
- UE5 C++ Editor Plugin API
- UE5 Python Scripting Plugin
- Blueprint Graph Node Extraction
- JSON Serialization
Special Thanks:
- Unreal Engine community
- Claude Code users
- Contributors and testers
If this tool helps you, please ⭐ star the repository to help others discover it!
- Tweet @UnrealEngine with your use case
- Share in Unreal Slackers Discord
- Post in r/unrealengine
Made with ❤️ for the UE5 and AI community