---
title: Export format
product: Codeable AI Editor Tools
version: 1.1
engine: Unreal Engine 5.8
updated: 2026-11-01
canonical: https://docs.human-codeable.com/ai-editor-tools/format.html
---

# Export format

Every file is plain UTF-8 text, meant to be read by people and by language models. It is a readable view of the project, not a format that compiles back into Blueprints.

## A Blueprint file

```
# WBP_Overlay_Confirm : WBP_Base
# /AdvancedFrameworkPro/AFS_UI/Utils/Overlay/Widgets/WBP_Overlay_Confirm
## declarations
widget WBP_Button_No : WBP_Button_Normal_C   ; exposed as variable
widget WBP_Button_Yes : WBP_Button_Normal_C   ; exposed as variable
dispatcher OnButtonClicked(Confirm: bool)
  ;; Fires when the confirmation overlay is answered.
## EventGraph
event WBP_Button_No.OnPressed(Button : WBP_Button)
  ;; Handler for the deny button.
  Call On Button Clicked false
  CloseWidget
```

- The first lines name the asset, its parent class and its package path; a `# ` line below them is the asset's description.
- `## declarations` lists components or the widget tree, variables with types and defaults, and dispatchers.
- Each graph follows under its own `##` heading; collapsed graphs are written out as `## EventGraph > Name`.
- An entry point starts a block: `event`, `function` (with `-> returns`), or `entry` for collapsed graphs and macros. A bound event is named after its component, `Component.Event`.
- The body is one statement per line, indented by execution: branches as `if` / `else`, sequences, loops, and `on <pin>` for nodes with several execution outputs.
- `;;` is a description, `;` a comment. See [Import descriptions](import.html).

## codex.json

One JSON object:

| Key | Contents |
|---|---|
| `codex_version`, `generated`, `engine`, `project` | What produced the file and when |
| `roots` | The content roots that were walked |
| `assets` | One object per Blueprint |
| `enums`, `structs` | One object per user enum and struct |

Each asset carries `package_path`, `mount_root`, `relative_path`, `asset`, `parent`, `blueprint_type`, `description`, `implements`, `components`, `imports` and `members`. Each member has `kind` (variable, function, event, macro), `name`, `params`, `returns`, `type`, `default`, `category`, `tooltip`, replication and access flags, `meta` (every metadata key), and `inherited` when the text comes from a parent class or interface rather than the asset.

## Comparing two exports

`codex_diff.py`, in the plugin's `Content/Python/codeable_ai_editor_tools`, compares two `codex.json` files and writes a Markdown draft: assets added, removed or moved; parent and interface changes; members added, removed or changed in signature (breaking changes first); enum entries and struct members; and how many descriptions changed.

```
python codex_diff.py old/codex.json new/codex.json --out CHANGES.md
```

In the editor an assistant calls the same through `CodexTools.diff_exports`.
