← Back to Plugin

Ultimate Blueprint Exporter

Documentation

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

Installation

NEED CONTENT

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 "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. 1

    Open a Blueprint

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

  2. 2

    Click Export

    Find the "Export to AI" button in the toolbar and click it.

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

Exported BP_GameBoard to clipboard (~450 tokens)

Toolbar Button

The "Export to AI" button appears in the toolbar of supported editors:

Editor Button Location
Blueprint Editor Main toolbar, after Compile button
Animation Blueprint Editor Main toolbar, after Compile button
Widget Designer (UMG) Main toolbar, after Compile button
Material Editor Main toolbar, after Asset section
NEED CONTENT

Toolbar Screenshots

Add screenshots showing button location in each editor type.

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:

NEED CONTENT

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

NEED CONTENT

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

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.

NEED CONTENT

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

Version History

Update changelog as new versions are released.

Support

NEED CONTENT

Support Channels

Add support email, Discord server, or other contact methods.

NEED CONTENT

Bug Reports

Add instructions for reporting bugs (GitHub Issues, email template, etc.)

NEED CONTENT

Feature Requests

Add process for submitting feature requests.

Before Contacting Support

  1. Check the Troubleshooting section
  2. Search the FAQ
  3. Check Output Log for LogUBX errors
  4. Note your UE version and plugin version