asset
Browse, import, load, rename, delete, and dump any content asset. The central content-browser surface.
What it’s for
asset is the content-browser layer of PinWright. It operates on the
/Game/... packages in your project: discovering what exists, importing files from
disk, reading an asset's metadata and dependencies, renaming or moving assets safely, and
deleting them. If a task starts with "find the asset that..." or "add this file to the
project", this is where it begins.
It is also the way your assistant sees an asset's real contents. asset.dump and
asset.dump_folder write the full state of an asset or a whole folder to readable
text on disk, so the assistant can inspect and compare assets instead of guessing. See the
Asset dumps guide for how that mirror works.
Rename and move leave a redirector at the old path so existing references keep resolving; run
asset.fixup_redirectors afterward to clean those up. Deletes close any open editors
and force a garbage collection first, then report per-entry success.
Treat asset as the catch-all for content-browser-level operations: create, list,
import, rename, delete, dump, and dependency reads. Type-specific authoring lives in the domain
namespaces instead — reach for material.*, niagara.*, or
chooser.* for anything beyond creating, listing, or deleting an asset of that kind.
Examples
Find every widget under a folder
The assistant lists assets with a class filter to narrow the content tree down to what you asked about.
You: List all the Widget Blueprints under /Game/UI.
call("asset.list", {path:"/Game/UI",
filter:{class:"/Script/UMGEditor.WidgetBlueprint"}})
→ {assets:[{name:"WBP_HUD", ...}, {name:"WBP_PauseMenu", ...}], count:12}
Done. Found 12 Widget Blueprints under /Game/UI.
Import a mesh from disk
The assistant picks the matching factory by extension and drops the result into a target folder.
You: Import C:/Art/prop_crate.fbx into /Game/Props.
call("asset.import", {sourcePath:"C:/Art/prop_crate.fbx",
destinationPath:"/Game/Props"})
→ {ok:true, imported:["/Game/Props/prop_crate"]}
Done. Imported prop_crate into /Game/Props.
Rename an asset and clean up references
The rename leaves a redirector behind, so the assistant follows it with a fixup pass to re-save referencing assets.
You: Rename /Game/Props/SM_Old to SM_Crate and fix up the references.
call("asset.rename", {sourcePath:"/Game/Props/SM_Old",
destinationPath:"SM_Crate"})
→ {ok:true}
call("asset.fixup_redirectors", {directoryPath:"/Game/Props"})
→ {ok:true, fixed:3, redirectorsRemoved:1}
Done. Renamed to SM_Crate and cleared the old redirector.