← Back to Plugin

Ultimate Blueprint Exporter (UBX)

Documentation

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 TypeEditor Only
Engine VersionUE 5.5+
Runtime ImpactZero (not packaged)
Log CategoryLogUBX

Installation

COMING SOON

Fab Marketplace Installation

Installation instructions for Fab Marketplace will be added when the plugin is published.

Manual Installation

  1. 1

    Download the Plugin

    Download the plugin zip file from your purchase location.

  2. 2

    Extract to Plugins Folder

    Extract the UltimateBlueprintExporter folder to your project's Plugins/ directory:

    YourProject/
    ├── Content/
    ├── Plugins/
    │   └── UltimateBlueprintExporter/
    │       ├── UltimateBlueprintExporter.uplugin
    │       └── Source/
    └── YourProject.uproject
  3. 3

    Regenerate Project Files

    Right-click your .uproject file and select "Generate Visual Studio project files"

  4. 4

    Build and Launch

    Open in your IDE and build, or launch directly from the Epic Games Launcher.

Verify Installation

After launching the editor:

  1. Go to Edit → Plugins
  2. Search for "Ultimate Blueprint Exporter"
  3. Confirm the plugin is enabled
  4. 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

UBX button in Blueprint Editor toolbar

Your First Export

  1. 1

    Open a Blueprint

    Double-click any Blueprint asset to open it in the Blueprint Editor.

  2. 2

    Select Nodes (Optional)

    Select any number of nodes to export just those, or don't select anything to export the entire Blueprint.

  3. 3

    Click UBX

    Find the "UBX" button in the toolbar and click it.

  4. 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:

Exported BP_GameBoard to clipboard (~360 tokens)

Toolbar Button

The "UBX" button appears in the toolbar of supported editors:

EditorButton Location
Blueprint EditorMain toolbar, after Compile button
Animation Blueprint EditorMain toolbar, after Compile button
Widget Designer (UMG)Main toolbar, after Compile button
Material EditorMain toolbar, after Asset section
State Tree EditorMain toolbar, after Asset section

Export Modes

Different click modifiers trigger different export behaviors:

Blueprint Editor

ModifierActionDescription
ClickExport selected nodesExports only the currently selected nodes. If none selected, exports entire Blueprint.
Ctrl+ClickPreview selected nodesOpens advanced details window with selected nodes for editing before copy.
Alt+ClickExport entire BlueprintExports the complete Blueprint regardless of selection.
Ctrl+Alt+ClickPreview entire BlueprintOpens 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

ElementDescription
HeaderBlueprint name and live token count
Add Project InformationCheckbox to prepend saved project context
Custom InstructionsSingle-line field for per-export notes (not saved)
Tab BarSwitch between Markdown and Detailed views
Content AreaEditable text box with export content
Copy to ClipboardCopy current content (with any edits)
Save to FileSave as .md or .txt file
Advanced OptionsOpens 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

OptionDefaultDescription
Include Header BlockOnInclude Blueprint metadata (name, path, parent class, components, variables, interfaces)
Include DefinitionsOnInclude custom enum and struct definitions used in the Blueprint
Recursive ExpansionOnExpand functions and macros defined within the same Blueprint
Max Depth5Maximum recursion depth for function/macro expansion (1-10)
Deep ExpansionOffExpand 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.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

State 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

TriggerDescription
OnTickEvaluates every tick
OnEvent(Tag)Triggered by GameplayTag event
OnStateCompletedWhen state finishes execution
OnStateSucceededWhen state completes successfully
OnStateFailedWhen 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: int

Node Format

[Label] NodeTitle
  in PinName: Type = DefaultValue <- SourceNode.SourcePin
  out PinName: Type -> TargetNode.TargetPin

Connection Syntax

SyntaxMeaning
->Output connects to (exec flow or data)
<-Input receives from
.executeExecution 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

LabelNode TypeExample
[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

Logging

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 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

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