PinWright

Asset dumps

Ask your assistant to snapshot an asset, or a whole content folder, as readable text files. Your assistant then works from what your assets really contain, and you can read, search and compare them without opening the editor.

What it is

A .uasset is a binary file you can normally only read by opening it in the editor. A dump mirrors your content tree on disk as text: 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 was actually set and skip the engine defaults.

Why use it

Note: a reading aid

Dumps help you and your assistant understand your project. They don't replace 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

Ask your assistant in plain language. It runs the dump and waits for it to finish.

exampleasset
You: Snapshot everything under /Game/UI so you know what widgets we have.

Done. Dumped 38 assets under /Game/UI.

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

Note: 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 written out. Your assistant waits for it and tells you when it is done, and you can keep working meanwhile.

For a single asset you can also ask for a change file next to the snapshot, or a preview image of a widget. For a folder you can choose whether to include subfolders and levels.

What you get

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

asset-dumps/Game/Player/BP_PlayerCharacter/files
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.

Keeping dumps fresh

A folder dump only rewrites assets whose saved content changed since the last dump (it keeps track in a .dumpcache.json file beside the snapshots). To get a fresh one:

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 → PinWright → Asset Dump Root Directory (absolute, or relative to the project).

Limitations