resolve_asset_by_name
Resolve an exact asset name or path to every match, returning match count and unambiguous status so you can avoid silently using duplicate or stale assets.
Instructions
Resolve an exact asset name (or path) to EVERY matching asset and report match_count + unambiguous, instead of silently picking the first one the way get_asset_by_name, get_blueprint_parent, get_graph_nodes and the rest of the by-name tools do. Run this FIRST whenever you are about to address an asset by bare name: a project can have hundreds of duplicate names (the same name in a vendored pack and in the game's own folders, plus dated backup copies), and unambiguous:false is the only warning you will get before another tool hands you a stale backup's contents as if they were the real asset. From there, pass the full path everywhere. match_count:0 with success:true is a valid, informative answer -- it means "no asset with this exact name", which is a real measurement of non-existence (unlike search_assets_by_pattern's count:0, which can just mean the pattern had a wildcard in it).
Returns: { asset_name: string, search_root: string, class_filter: string, match_count: int, unambiguous: bool, matches: [{ path, package, class }] }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset_name | Yes | EXACT bare asset name or full package/asset path. This is an equality test, not a substring one -- use search_assets_by_pattern when you only know part of the name. | |
| search_root | No | Root package path for the fallback scan used when asset_name is not an exact package-name hit; defaults to "/Game", so an asset under /Engine or a plugin mount needs its root passed here explicitly | |
| class_filter | No | Optional class short name or /Script path (e.g. "Blueprint", "DataTable") to constrain the match; matches subclasses too |