find_blueprint_node_references
Locate every Blueprint node referencing a symbol (variable, function, event, etc.) across a content path, returning each hit's asset, graph, and node details.
Instructions
"Find in Blueprints" over MCP: locate every Blueprint NODE that references a symbol -- variable, function, event, custom event, multicast delegate, macro, timeline, cast target, component, or a class/object in a pin default -- across a content path, returning each hit's asset, graph chain, node_id, title, match_kind and RESOLVED declaring class (resolved:false = a name-only guess). READ-ONLY. THE RULE FOR READING A ZERO: matches_found:0 only measures NON-EXISTENCE when assets_hit_prefilter_without_graph_match comes back EMPTY -- if it names assets, the symbol's string IS in those packages, so either the real name is spelled differently or the reference lives outside a graph (component template, property default). Check coverage_complete too: a truncated, timed-out or capped scan proves nothing. Blind by construction: Level Script Blueprints inside a .umap, and C++ callers.
Returns: { symbol, mode, mode_recognized, path, recursive, prefilter_enabled, component_class, component_declared_in, assets_in_path, assets_scanned, assets_prefiltered_out, assets_prefilter_unavailable, assets_prefilter_bypassed_dirty, assets_loaded, assets_load_failed, assets_with_matches, graphs_visited, nodes_visited, foreign_subgraphs_skipped, matches_found, truncated, timed_out, coverage_complete, elapsed_ms, assets_hit_prefilter_without_graph_match:[string], notes:[string], matches:[{asset_name, asset_path, package_name, graph, graph_chain, graph_kind, node_id, node_class, node_title, match_kind, member_name, declaring_class, resolved, is_component_ref, is_interface_call, exact, detail, pin, pin_value, node?}], success }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Optional (default "auto"): auto|all|variable|function|event|delegate|macro|component|class|pin_default. Filters which match kinds are returned; an unrecognized value returns everything and sets mode_recognized=false. | |
| path | No | Optional (default "/Game"): content path root to scan. | |
| symbol | No | Required (unless component_name is given): the name to look for, matched EXACTLY (variable/function/event/macro/class/component name). A misspelling returns 0 with a full-coverage report -- see assets_hit_prefilter_without_graph_match before believing it. | |
| prefilter | No | Optional (default true): byte-scan the .uasset name map before loading. Turning it OFF loads every Blueprint under path (slow, but the ground truth to compare against). | |
| recursive | No | Optional (default true): recurse into subfolders of path. | |
| asset_path | No | Alias of `path` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `path`. | |
| max_assets | No | Optional (default 20000): hard cap on candidate assets examined. | |
| max_matches | No | Optional (default 200): stop after this many matches (sets truncated=true). | |
| max_seconds | No | Optional (default 60): wall-clock budget; on expiry the scan stops and timed_out=true. | |
| search_term | No | Alias of `symbol` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `symbol`. | |
| include_pins | No | Optional (default false): when include_node_json is on, include the node's pins. | |
| exclude_paths | No | Optional: array of package-path prefixes to skip (e.g. ["/Game/VendorPack/Demo"]). | |
| function_name | No | Alias of `symbol` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `symbol`. | |
| include_paths | No | Optional: array of package-path prefixes to restrict the scan to (applied after path). | |
| case_sensitive | No | Optional (default false): case-sensitive symbol matching (both the byte prefilter and the node classifier). | |
| component_name | No | Optional: search for an actor COMPONENT by name; implies mode="component" and, with owner_blueprint, also matches GetComponentByClass/Cast pins that target the component's class. | |
| owner_blueprint | No | Optional: Blueprint that DECLARES component_name (asset name or path); required to resolve the component's class for the class-pin matching. | |
| include_node_json | No | Optional (default false): embed the full NodeToJson serialization of each matching node. | |
| include_pin_defaults | No | Optional (default true): also report pin defaults / pin types that name the symbol, on nodes with no structural match. |