---
title: Import descriptions
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/import.html
---

# Import descriptions

The import writes descriptions back into the assets. It is the only part of the plugin that changes assets, so it is built to be careful: a dry run first, additive by default, and nothing saved unless you ask.

## What it can write

| Description of | Goes into |
|---|---|
| A Blueprint | its Blueprint Description |
| A variable | its tooltip |
| A function | its Description field |
| An event | the comment bubble on the event node (events have no description field) |
| A struct member, an enum entry | its tooltip |

An override of an engine event keeps the engine's text, which an override cannot replace, and a data asset has no description field. The report lists those as *unwritable* instead of skipping them silently.

## Running it

1. **Tools > AI Editor Tools > Import Descriptions...**
2. **Read from**: an export folder that you or an assistant edited, or a descriptions JSON file.
3. Tick the folders the import may change. The tree shows only the folders the source mentions.
4. **Dry Run**. Nothing changes; a report is written (`_import_report.json` in the folder, or `<file>.report.json` beside a JSON file). Read it.
5. **Import**. The touched assets are marked as changed but not saved. Check them, then save them in the editor, which also checks them out of source control.

## Editing an export

In an exported file, only the description lines come back:

- `;;` lines - a description of the asset, variable, function, event, member or entry they stand under. These are the lines to edit.
- `;` lines - comments on nodes in a graph. Ignored on import.
- Everything else is logic. There is no compiler from pseudo-code back into graphs, so edited logic is ignored.

## Replace

**Replace descriptions the asset already has** is off by default: the import only fills what is empty, so text written in the editor is never overwritten by an older copy. Tick it for a deliberate one-off sweep. It always opens unticked, and it asks once more, with the number of descriptions it would replace, before writing.

Warning

An import with Replace from a whole export folder touches every description the folder holds. Run the dry run first and read the report.

## A descriptions JSON

```
{ "descriptions": [
  { "package_path": "/Game/UI/WBP_Menu", "kind": "asset",    "text": "The main menu." },
  { "package_path": "/Game/UI/WBP_Menu", "kind": "variable", "name": "Title", "text": "Shown at the top." },
  { "package_path": "/Game/UI/WBP_Menu", "kind": "function", "name": "Open",  "text": "Opens the menu." }
] }
```
