Overview
Ultimate Blueprint Exporter (UBX) 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, Materials, and State Trees
Preview Window
Edit, review, and customize exports before copying with the advanced preview
Token Estimation
Live token count helps manage LLM context windows
Fully Offline
Lightning fast pure C++ with 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 "UBX" button in the toolbar
Quick Start
TL;DR
Open a Blueprint → Click "UBX" 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
Select Nodes (Optional)
Select any number of nodes to export just those, or don't select anything to export the entire Blueprint.
- 3
Click UBX
Find the "UBX" button in the toolbar and click it.
- 4
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 advanced details 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 advanced details window with entire Blueprint content. |
AnimBP / WidgetBP / Material Editors
These editors support the same node selection and export behavior as standard Blueprints.
Preview Window
The preview window (Ctrl+Click or Ctrl+Alt+Click) provides advanced export options:
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.
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) |
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.executeExternal Call Marking
Calls to functions in other Blueprints are marked but not expanded:
[External Call] BP_ScoreManager -> UpdateScore
in Points: int = 10Engine Macro Descriptions
Common engine macros include helpful descriptions:
[Macro] ForEachLoop (Engine)
// Iterates over array elements
in Array: Array
out Element: Wildcard
out Index: intAnimation 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: AnimInstanceWidget 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: GetScoreDisplayTextMaterials
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.RoughnessMaterial 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.35State Trees
Full export support for UE5 State Trees used in AI and game logic.
Supported Features
- Full state hierarchy with nesting
- Tasks with complete property extraction
- Transitions with trigger types
- Conditions expanded inline
- GameplayTag event triggers
- Delay and priority settings
- Schema information
State Format
[State] Root
[Task] DebugTextTask
in Text: String = "Entering Root"
in TextColor: Color = (255, 255, 255, 255)
in FontScale: float = 1.0
[Transition] OnTick -> "Waiting for Turn" (delay: 4.0s)
[State] Waiting for Turn
[Task] DebugTextTask
in Text: String = "Waiting..."
[Transition] OnEvent(TTT.AI.State.StartTurn) -> "Thinking" (delay: 1.0s)Transition Types
| Trigger | Description |
|---|---|
OnTick | Evaluates every tick |
OnEvent(Tag) | Triggered by GameplayTag event |
OnStateCompleted | When state finishes execution |
OnStateSucceeded | When state completes successfully |
OnStateFailed | When state fails |
Header Information
State Tree exports include schema info:
# State Tree: ST_Entity_AI_Base
# Path: /Game/AI/StateTrees/ST_Entity_AI_Base
# Schema: StateTreeComponentSchema
# ~260 tokens (estimated)Output Format
Header Block
Every export begins with metadata:
# Blueprint: BP_GameBoard
# Path: /Game/Blueprints/BP_GameBoard
# Parent: Actor
# ~360 tokens (estimated)Graph Sections
Graphs are separated with headers:
## EventGraph: EventGraph
[Event] ReceiveBeginPlay
-> InitializeBoard.execute
## Function: ValidateMove
[Entry] ValidateMove
out CellIndex: intNode Format
[Label] NodeTitle
in PinName: Type = DefaultValue <- SourceNode.SourcePin
out PinName: Type -> TargetNode.TargetPinConnection 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. Here's a sample:
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.iniConfig Section
[/Script/UltimateBlueprintExporterEditor.ExportSettings]
ProjectInformation="Your project context here..."
bAddProjectInformation=false
bIncludeHeader=true
bIncludeDefinitions=true
bRecursiveExpansion=true
MaxDepth=5
bDeepExpansion=falseLogging
The plugin uses a custom log category for diagnostics:
// Filter in Output Log
LogUBX
// Example log output
LogUBX: Exported BP_GameBoard to clipboard (~360 tokens)
LogUBX: Warning - Blueprint has compile errorsTroubleshooting
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
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 (~5 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.
Changelog
Version 1.2.0January 2026State Tree support
- Added State Tree export support with full hierarchy
- Tasks exported with complete property reflection
- Transitions with trigger types and GameplayTag events
- Conditions expanded inline with properties
- Added support for Unreal Engine 5.7
Version 1.1.1January 2026AnimGraph and UE 5.5 support
- Added support for more AnimGraph nodes
- Added support for Unreal Engine 5.5
Version 1.1.0December 2025Node matching and optimization update
- Improved node matching accuracy
- Deduplication of repeated function expansions
Version 1.0.5December 2025Advanced options and flow improvements
- Added Detail tab in advanced preview screen
- Improved execution flow formatting
Version 1.0.0November 2025Initial 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
- Token counting
- Persistent settings