test_blueprint_function
Analyze a Blueprint function graph statically without executing it. Recompiles the Blueprint to measure compile time and report node/pin counts and performance heuristics.
Instructions
Static analysis of one function graph of a blueprint (node/pin counts + heuristics). WARNING: it does NOT execute the function; it RECOMPILES the Blueprint (FKismetEditorUtilities::CompileBlueprint) and reports the COMPILE time as execution_time.
Returns: { blueprint_path: string, resolved_object_path: string, function_name: string, test_success: bool, test_result: string, execution_time: number, memory_usage: int, node_count: int, connection_count: int, performance_rating: string, function_exists: bool, blueprint_compiled: bool, is_static_analysis: bool, function_was_executed: bool, recompiled_blueprint: bool, execution_time_is_compile_time_ms: bool, memory_usage_is_disk_file_size_bytes: bool, connection_count_is_pin_count: bool, under_readonly_root: bool, issues?: [string] }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Optional. This command is REFUSED while a Play-in-Editor session is running: it either compiles a Blueprint (the reinstancer can retain a world, and CheckForWorldGCLeaks is Fatal -- it KILLS the editor) or writes to disk (Editor.AllowSavingAssetsDuringPIE=0 makes the engine refuse the write, so it would report success without writing a byte). Stop PIE and retry instead; force=true runs it anyway, at your own risk. | |
| function_name | Yes | Name of the function graph to analyze within the blueprint | |
| blueprint_name | No | Alias of `blueprint_path` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `blueprint_path`. | |
| blueprint_path | No | Object path, package path, or bare short name of the blueprint (resolved via mcp_common::ResolveAssetFlexible; ambiguity errors out listing candidates) | |
| compile_for_timing | No | Optional (default true): recompile the Blueprint to measure compile time. Pass false to skip the recompile side effect (execution_time then reports 0). |