Asset dumps

Write the full state of an Unreal asset, or a whole content folder, to disk as readable text: JSON for properties and structured data, and text for graph assets like Blueprints and materials. It turns opaque .uasset binaries into something you and your assistant can read, grep, and compare.

What it is

A .uasset is a binary blob you can normally only inspect by opening it in the editor. A dump mirrors your content tree on disk: the package /Game/UI/WBP_HUD becomes a folder Game/UI/WBP_HUD/ holding per-aspect sidecar files (meta.json, properties.json, bpir.txt, tree.xml, and so on). properties.json lists only the values that differ from the class default, so you see what is actually authored, not engine boilerplate.

Why use it

It is primarily a research and inspection aid, not a replacement for source control. A dump reflects the saved package on disk, not unsaved edits open in the editor. Save first, or re-run the dump, when you need it current.

Run a dump

You just ask your assistant in plain language; it runs the dump and waits for it to finish.

You: Dump everything under /Game/UI so you can see the current widgets.

The assistant runs:
  asset.dump_folder    /Game/UI
  ... writing a text snapshot of each asset ...

Done. Dumped 38 assets under /Game/UI.

Point it at one folder (/Game/UI), the whole project (/Game), or a single asset. Dumping is read-only: it writes text files to disk and changes nothing in your project.

It can take a while. A small folder dumps in a minute or two. A full /Game on a large project can take tens of minutes, because every asset has to be loaded and serialized. Your assistant waits for it and tells you when it is done, and you can keep working meanwhile.

Under the hood your assistant uses two operations: asset.dump for a single asset (with options to also write a change file or a widget preview image) and asset.dump_folder to sweep a folder (with options for recursion, including levels, and forcing a fresh re-dump). You do not call these yourself.

What you get

The dump root defaults to <YourProject>/Saved/EditorAutomation/asset-dumps/ and mirrors package paths. A Blueprint dump folder looks like this:

asset-dumps/Game/Drone/BP_DroneCharacter/
    meta.json        class, parent, kind, and the list of files written
    properties.json  only values overridden from the class default
    bpir.txt         the Blueprint graphs, decompiled to text
    scs.json         the component tree

The sidecars vary by asset type: Blueprints get bpir.txt, materials get mgir.txt, Widget Blueprints get tree.xml and widget_animations.json, Niagara gets nir.txt plus a few JSON files, levels get a world_settings.json and an actors/ folder, and textures, static meshes, data tables, and sound each get a typed JSON. meta.json always lists exactly which files were written. If an asset fails to load, its folder holds only a meta.json marked "skipped": true, so check that before reading the rest.

Freshness and forcing a re-dump

A folder sweep is incremental: it skips assets whose saved content has not changed since the last dump (tracked in a private .dumpcache.json beside the sidecars). To force a fresh dump:

Editing an asset in the editor without saving marks it dirty, which also forces a re-dump on the next sweep.

Configuration

Set the dump root under Edit → Editor Preferences → Plugins → Editor Automation RPC Gateway → Asset Dump Root Directory (absolute, or relative to the project).

Limitations

Next: Recorder →