Overview
Ultimate Blueprint Exporter is an editor-only C++ plugin for Unreal Engine 5.5+ that exports Blueprint graphs to AI-readable text format. It's designed for feeding Blueprint logic to LLMs (Claude, GPT, etc.) for code review, documentation, or AI-assisted development.
Multi-Asset Support
Export Blueprints, Animation Blueprints, Widget Blueprints, and Materials
Secret Redaction
API keys, passwords, and tokens are automatically replaced with [REDACTED]
Token Estimation
Live token count helps manage LLM context windows
Fully Offline
No network calls, no data collection, no telemetry
Technical Details
| Plugin Type | Editor Only |
| Engine Version | UE 5.5+ |
| Runtime Impact | Zero (not packaged) |
| Log Category | LogUBX |
Installation
Fab Marketplace Installation
Installation instructions for Fab Marketplace will be added when the plugin is published.
Manual Installation
-
1
Download the Plugin
Download the plugin zip file from your purchase location.
-
2
Extract to Plugins Folder
Extract the
UltimateBlueprintExporterfolder to your project'sPlugins/directory:YourProject/ ├── Content/ ├── Plugins/ │ └── UltimateBlueprintExporter/ │ ├── UltimateBlueprintExporter.uplugin │ └── Source/ └── YourProject.uproject -
3
Regenerate Project Files
Right-click your
.uprojectfile and select "Generate Visual Studio project files" -
4
Build and Launch
Open in your IDE and build, or launch directly from the Epic Games Launcher.
Verify Installation
After launching the editor:
- Go to Edit → Plugins
- Search for "Ultimate Blueprint Exporter"
- Confirm the plugin is enabled
- Open any Blueprint—you should see the "Export to AI" button in the toolbar
Quick Start
TL;DR
Open a Blueprint → Click "Export to AI" in the toolbar → Paste into your LLM
Your First Export
-
1
Open a Blueprint
Double-click any Blueprint asset to open it in the Blueprint Editor.
-
2
Click Export
Find the "Export to AI" button in the toolbar and click it.
-
3
Paste
The export is copied to your clipboard. Paste it into Claude, ChatGPT, or any LLM.
A toast notification will confirm the export with the estimated token count:
Export Modes
Different click modifiers trigger different export behaviors:
Blueprint Editor
| Modifier | Action | Description |
|---|---|---|
Click |
Export selected nodes | Exports only the currently selected nodes. If none selected, exports entire Blueprint. |
Ctrl+Click |
Preview selected nodes | Opens preview window with selected nodes for editing before copy. |
Alt+Click |
Export entire Blueprint | Exports the complete Blueprint regardless of selection. |
Ctrl+Alt+Click |
Preview entire Blueprint | Opens preview window with entire Blueprint content. |
AnimBP / Material Editors
These editors don't support node selection, so the behavior is simplified:
| Modifier | Action |
|---|---|
Click |
Export entire asset to clipboard |
Ctrl+Click |
Open preview window |
Preview Window
The preview window (Ctrl+Click or Ctrl+Alt+Click) provides advanced export options:
Preview Window Screenshot
Add annotated screenshot of the preview window interface.
Window Layout
| Element | Description |
|---|---|
| Header | Blueprint name and live token count |
| Add Project Information | Checkbox to prepend saved project context |
| Custom Instructions | Single-line field for per-export notes (not saved) |
| Tab Bar | Switch between Markdown and Detailed views |
| Content Area | Editable text box with export content |
| Copy to Clipboard | Copy current content (with any edits) |
| Save to File | Save as .md or .txt file |
| Advanced Options | Opens settings dialog |
View Tabs
Markdown Tab
Token-optimized format designed for LLM consumption. Compact, deterministic output with minimal token usage.
Detailed Tab
Human-readable format with expanded descriptions. More verbose output optimized for documentation and code review. (Coming in future update)
Advanced Options
Click "Advanced Options..." in the preview window to configure export settings:
Project Information
A multi-line text field for persistent project context. When "Add Project Information" is checked in the preview window, this text is prepended to exports.
Use cases:
- Describe your project's architecture
- List naming conventions
- Provide context about custom systems
- Include relevant constraints or requirements
Export Options
| Option | Default | Description |
|---|---|---|
| Include Header Block | On | Include Blueprint metadata (name, path, parent class, components, variables, interfaces) |
| Include Definitions | On | Include custom enum and struct definitions used in the Blueprint |
| Recursive Expansion | On | Expand functions and macros defined within the same Blueprint |
| Max Depth | 5 | Maximum recursion depth for function/macro expansion (1-10) |
| Deep Expansion | Off | Expand functions from external Blueprints (can significantly increase output size) |
| Redact Secrets | On | Replace API keys, passwords, tokens, and URLs with [REDACTED] |
Settings Persistence
Settings are saved to your project's config file:
Saved/Config/*/EditorPerProjectUserSettings.ini
[/Script/UltimateBlueprintExporterEditor.ExportSettings]
ProjectInformation="..."
bAddProjectInformation=true
...
Blueprints
Full export support for all Blueprint types:
Supported Features
- Event Graphs
- Functions (with inline expansion)
- Macros (with inline expansion)
- Collapsed Graphs
- Variables and their default values
- Components
- Interfaces
- Comment boxes (attached to relevant nodes)
Same-BP Expansion
Functions and macros defined within the active Blueprint are expanded inline and marked with (Self):
[Call] InitializeBoard (Self)
in CellCount: int = 9
-> SetupCells.execute
External Call Marking
Calls to functions in other Blueprints are marked but not expanded:
[External Call] BP_ScoreManager -> UpdateScore
in Points: int = 10
Engine Macro Descriptions
Common engine macros include helpful descriptions:
[Macro] ForEachLoop (Engine)
// Iterates over array elements
in Array: Array
out Element: Wildcard
out Index: int
Animation Blueprints
Full export support for Animation Blueprints including AnimGraphs and State Machines.
Supported Features
- AnimGraph nodes (70+ types)
- State Machines with entry states
- State nodes with reset flags
- Transitions with duration, priority, bidirectional info
- Blend Spaces and Aim Offsets
- Animation Sequences
- Linked Animation Graphs
- EventGraph logic
State Machine Format
[StateMachine] Locomotion
Entry: Idle
### States ###
[State] Idle
-> State: [Locomotion] Idle
[State] Walk / Run
-> State: [Locomotion] Walk / Run
### Transitions ###
[Transition] Idle -> Walk / Run (0.20s, priority 1)
[Transition] Walk / Run -> Idle (0.30s, priority 1)
Header Information
Animation Blueprints include skeleton info:
# Blueprint: ABP_Character
# Type: Animation Blueprint
# Skeleton: SK_Mannequin
# Parent: AnimInstance
Widget Blueprints
Full export support for UMG Widget Blueprints.
Supported Features
- Widget hierarchy with parent/child relationships
- Widget types (36+ labeled)
- Variable widgets marked with
(var) - Text content extraction
- Property bindings
- Event bindings (ComponentBoundEvent nodes)
- EventGraph logic
Hierarchy Format
## Widget Hierarchy
[Canvas] RootCanvas
[VBox] MainContainer
[Image] LogoImage (var)
[Text] TitleText "Tic-Tac-Terror"
[Button] PlayButton (var)
<- OnClicked: HandlePlayClicked
[Text] PlayText "Play Game"
Property Bindings
Widgets with property bindings show the bound function:
[Text] ScoreText (var)
<- Text: GetScoreDisplayText
Materials
Full export support for Materials, Material Functions, and Material Instances.
Supported Features
- Material expressions (60+ types)
- Parameters (Scalar, Vector, Texture, Static Switch)
- Material Functions
- Material Instances (parent + overrides)
- Per-output graph organization
- Stable node IDs for cross-referencing
- Shared node markers
Output Organization
Material graphs are organized by material output:
## Graph (by Output)
### BaseColor
[TextureParam]{n001} DiffuseMap
out RGBA -> Lerp{n003}.A
[Lerp]{n003}
out Result -> Material.BaseColor
### Roughness
[ScalarParam]{n004} Roughness
out R -> Material.Roughness
Material Instance Export
Material Instances show only the parent and overridden parameters:
# Material Instance: MI_Character_Skin_Tan
# Parent: M_Character_Skin
## Overridden Parameters
- SkinTint = (0.95, 0.8, 0.7, 1.0)
- Roughness = 0.35
Output Format
Header Block
Every export begins with metadata:
# Blueprint: BP_GameBoard
# Path: /Game/Blueprints/BP_GameBoard
# Parent: Actor
# ~450 tokens (estimated)
Graph Sections
Graphs are separated with headers:
## EventGraph: EventGraph
[Event] ReceiveBeginPlay
-> InitializeBoard.execute
## Function: ValidateMove
[Entry] ValidateMove
out CellIndex: int
Node Format
[Label] NodeTitle
in PinName: Type = DefaultValue <- SourceNode.SourcePin
out PinName: Type -> TargetNode.TargetPin
Connection Syntax
| Syntax | Meaning |
|---|---|
-> |
Output connects to (exec flow or data) |
<- |
Input receives from |
.execute |
Execution pin |
(Self) |
Function/macro from same Blueprint |
(Engine) |
Engine-provided macro |
[External Call] |
Call to another Blueprint |
Node Labels
Nodes are prefixed with descriptive labels. The plugin maps 50+ Blueprint node types:
Common Labels
| Label | Node Type | Example |
|---|---|---|
[Event] | K2Node_Event | [Event] ReceiveBeginPlay |
[CustomEvent] | K2Node_CustomEvent | [CustomEvent] OnGameOver |
[Call] | K2Node_CallFunction | [Call] PrintString (Debug) |
[GetVar] | K2Node_VariableGet | [GetVar] PlayerScore |
[SetVar] | K2Node_VariableSet | [SetVar] PlayerScore |
[Branch] | K2Node_IfThenElse | [Branch] |
[Sequence] | K2Node_ExecutionSequence | [Sequence] |
[ForLoop] | K2Node_ForLoop | [ForLoop] 0 to 9 |
[Cast] | K2Node_DynamicCast | [Cast] BP_Enemy |
[Macro] | K2Node_MacroInstance | [Macro] IsValid (Engine) |
[Collapsed] | K2Node_Composite | [Collapsed] ProcessInput |
[Timeline] | K2Node_Timeline | [Timeline] FadeTimeline |
[SpawnActor] | K2Node_SpawnActor | [SpawnActor] BP_Projectile |
[Op] | Math/Comparison | [Op] A >= B |
Fallback: Unknown nodes strip the K2Node_ prefix. For example, K2Node_SomeNewNode becomes [SomeNewNode].
Settings
Config Location
Settings are stored in your project's per-user config:
Saved/Config/*/EditorPerProjectUserSettings.ini
Config Section
[/Script/UltimateBlueprintExporterEditor.ExportSettings]
ProjectInformation="Your project context here..."
bAddProjectInformation=false
bIncludeHeader=true
bIncludeDefinitions=true
bRecursiveExpansion=true
MaxDepth=5
bDeepExpansion=false
bRedactSecrets=true
Logging
The plugin uses a custom log category for diagnostics:
// Filter in Output Log
LogUBX
// Example log output
LogUBX: Exported BP_GameBoard to clipboard (~450 tokens)
LogUBX: Warning - Blueprint has compile errors
Troubleshooting
Button doesn't appear in toolbar
- Verify the plugin is enabled in Edit → Plugins
- Restart the editor after enabling
- Check Output Log for errors with
LogUBX
Export shows "Empty Blueprint" message
- The Blueprint has no logic nodes (events, functions, etc.)
- Only data-only Blueprints produce this message
Export shows compile error warning
- The Blueprint has unresolved compile errors
- Export still proceeds but output may be incomplete
- Fix compile errors for best results
Token count seems high
- Disable "Include Header Block" for smaller exports
- Disable "Include Definitions" if you don't need enum/struct info
- Use node selection to export only relevant portions
- Disable "Deep Expansion" to prevent cross-BP expansion
Additional Troubleshooting
Add more common issues and solutions as they are discovered during beta testing.
FAQ
Does this plugin affect my packaged game?
No. This is an editor-only plugin with zero runtime impact. It is not included in packaged builds.
Does the plugin send any data over the network?
No. The plugin is 100% offline. No network calls, no analytics, no telemetry. Your code never leaves your machine.
How accurate is the token count?
The token count is an estimate based on character count (~4 chars per token). Actual token usage varies by LLM and tokenizer. Use it as a rough guide.
Can I export multiple Blueprints at once?
Yes. Select multiple assets in the Content Browser and use Ctrl+Click on the toolbar button to batch export.
What gets redacted by secret detection?
The plugin detects and redacts: API keys, passwords, tokens, secrets, Bearer tokens, and URLs (http/https). Patterns are matched using regex.
Additional FAQs
Add more frequently asked questions as they come up from users.
Changelog
Version 1.0.0 Coming Soon
Initial release
- Blueprint export with full graph support
- Animation Blueprint support (70+ node types, state machines)
- Widget Blueprint support (hierarchy, bindings)
- Material export (60+ expression types)
- Preview window with editing
- Secret redaction
- Token counting
- Persistent settings
Version History
Update changelog as new versions are released.
Support
Support Channels
Add support email, Discord server, or other contact methods.
Bug Reports
Add instructions for reporting bugs (GitHub Issues, email template, etc.)
Feature Requests
Add process for submitting feature requests.
Before Contacting Support
- Check the Troubleshooting section
- Search the FAQ
- Check Output Log for
LogUBXerrors - Note your UE version and plugin version