UnrealMCP — AI Bridge for Unreal Engine 5
PYPI · UNREALMCP · SCANNED AUG 7
Control the Unreal Engine 5 editor from any MCP client: Blueprints, materials, Niagara.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security25
- Malware scan not yet available for this package.Unverified
- CVE check failed: an unpatched critical CVE affects this package; the score is capped at 0. See how to fix → View diagnostics → Fail
- Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 8 of 78 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability37
- AI-judged instruction clarity (poor).Fail
- Context-footprint check failed: tool/resource definitions use about 35352 tokens (~123/item across 286 items; 286 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
pypi · unrealmcp
claude mcp add aadeshrao123-unreal-mcp -- uvx unrealmcp
codex mcp add aadeshrao123-unreal-mcp -- uvx unrealmcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"aadeshrao123-unreal-mcp": {
"type": "local",
"command": [
"uvx",
"unrealmcp"
],
"enabled": true
}
}
} openclaw mcp add aadeshrao123-unreal-mcp --command uvx --arg unrealmcp
mcp_servers:
aadeshrao123-unreal-mcp:
command: "uvx"
args: ["unrealmcp"] {
"mcpServers": {
"aadeshrao123-unreal-mcp": {
"command": "uvx",
"args": [
"unrealmcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Aug 26 0
- Malware scan: pass → unverified ▼ security
- 6 Aug 26 0
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Aug 2026 · Analysed pypi/[email protected]
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Vulnerabilities 6 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-m8x7-r2rg-vh5g | CVE-2025-64340 | medium | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H | yes |
| GHSA-rww4-4w9c-7733 | CVE-2026-27124 | high | yes | |
| GHSA-vv7q-7jx5-f767 | CVE-2026-32871 | critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H | yes |
| PYSEC-2026-2475 | CVE-2025-64340 | medium | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H | yes |
| PYSEC-2026-2476 | CVE-2026-27124 | none | yes | |
| PYSEC-2026-338 | CVE-2026-32871 | critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H | yes |
Dependencies 78 packages
| Packages resolved | 78 |
|---|---|
| Stale | 5 |
| No linked repository | 3 |
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
get_statetree_global_tasks ~58
Get all global tasks with their properties. Args: asset_path: Content path to the StateTree asset filter: Optional substring filter on task class name
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| filter | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_statetree_info ~51
Get compact overview of a StateTree: schema, state count, evaluator count, etc. Args: asset_path: Content path to the StateTree asset
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_statetree_node ~113
Get detailed info for a single node (task/evaluator/condition) by GUID. Returns the node's class, all properties, instance data, and where it lives in the tree (which state, evaluator list, or global tasks). Args: asset_path: Content path to the StateTree asset node_guid: GUID of the node (from get_statetree_state or get_statetree_evaluators)
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| node_guid | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_statetree_parameters ~44
Get tree-level parameters (name, type, value). Args: asset_path: Content path to the StateTree asset
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_statetree_state ~133
Get detailed info for a single state: properties, tasks, conditions, transitions. Identify by index path (e.g. "0/1/2"), name, or GUID. Args: asset_path: Content path to the StateTree asset state: Index path (e.g. "0" for first root, "0/1" for second child of first root) state_name: State name (case-insensitive) state_guid: State GUID string
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| state | – | – | – |
| state_guid | – | – | – |
| state_name | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_statetree_states ~133
Get state hierarchy as a JSON tree. Each state shows name, type, ID, task/transition counts. Use max_depth to limit recursion (0=roots only, 1=roots+children, -1=unlimited). Use name_filter for case-insensitive substring match on state names. Args: asset_path: Content path to the StateTree asset max_depth: Maximum depth to recurse (-1 for unlimited) name_filter: Only include states whose name contains this substring
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| max_depth | integer | – | – |
| name_filter | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_statetree_transition_targets ~125
Get all valid transition targets for a StateTree. Returns two lists: - 'states': All states with name, GUID, index_path, and type (for GotoState transitions) - 'meta_targets': Built-in targets (None, TreeSucceeded, TreeFailed, TreeStopped, NextSibling, NextState, NextSelectableState) Use this before add_statetree_transition or set_statetree_transition_property to discover valid target_state values. Args: asset_path: Content path to the StateTree asset
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_widget_properties ~57
Read all property values from a widget (supports all FProperty types).
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | – |
| include_inherited | boolean | – | – |
| widget_blueprint_path | string | yes | – |
| widget_name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_widget_tree ~56
Read the complete widget hierarchy from a Widget Blueprint's Designer. Returns a recursive JSON tree: name, class, is_panel, is_variable, slot_class, and children[] for panels.
| Name | Type | Req | Description |
|---|---|---|---|
| widget_blueprint_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_world_info ~24
Get current editor level info (world name, actor count, actor list).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
health_check ~20
Check if the UE5 editor bridge is running and responsive.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
import_asset ~128
Import an external file (texture, mesh, FBX, etc.) into the Content Browser. Args: source_file: Absolute path to file on disk (e.g. "C:/textures/wood.png") destination_path: Content Browser path (e.g. "/Game/Textures") destination_name: Custom asset name (default: source filename without extension) replace_existing: Overwrite if asset already exists (default True)
| Name | Type | Req | Description |
|---|---|---|---|
| destination_name | string | – | – |
| destination_path | string | yes | – |
| replace_existing | boolean | – | – |
| source_file | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
import_assets_batch ~170
Import multiple files into the Content Browser in one batch. Provide EITHER 'files' (explicit list) OR 'source_directory' (scan a folder). Args: destination_path: Content Browser destination (e.g. "/Game/Textures") files: List of absolute file paths to import source_directory: Absolute path to a folder — all matching files will be imported extensions: File extensions to include when scanning a directory (e.g. ["png", "jpg", "fbx"]). If omitted with source_directory, all files are imported. replace_existing: Overwrite existing assets (default True)
| Name | Type | Req | Description |
|---|---|---|---|
| destination_path | string | yes | – |
| extensions | – | – | – |
| files | – | – | – |
| replace_existing | boolean | – | – |
| source_directory | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
layout_material_expressions ~30
Auto-layout all nodes using Unreal's built-in arrangement algorithm.
| Name | Type | Req | Description |
|---|---|---|---|
| material_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
link_niagara_parameter ~162
Link a module input to a Niagara parameter (user, system, emitter, or particle scope). Args: system_path: Path to the Niagara System asset emitter_name: Name of the target emitter module_name: Name of the module input_name: Name of the input to link script_usage: Stack the module is in linked_parameter: Full parameter name including namespace (e.g. "User.MyParam", "Emitter.Age", "Particles.Velocity")
| Name | Type | Req | Description |
|---|---|---|---|
| emitter_name | string | yes | – |
| input_name | string | yes | – |
| linked_parameter | string | yes | – |
| module_name | string | yes | – |
| script_usage | string | yes | – |
| system_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_assets ~75
List assets in a Content Browser directory. Args: path: Content path (e.g. "/Game", "/Game/Materials") class_filter: Optional class shortcut (e.g. "material", "blueprint")
| Name | Type | Req | Description |
|---|---|---|---|
| class_filter | string | – | – |
| path | string | – | – |
| recursive | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_data_asset_classes ~65
List all UDataAsset subclasses currently loaded in the editor. Returns name, full class path, parent class, whether it is a UPrimaryDataAsset, and the number of editable properties.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | – |
| include_abstract | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_data_assets ~92
List data assets in a content path, optionally filtered by class. Args: path: Content Browser path (e.g. "/Game/Data") class_filter: Class name filter (e.g. "UItemData"). Matches any UDataAsset if empty.
| Name | Type | Req | Description |
|---|---|---|---|
| class_filter | string | – | – |
| max_results | integer | – | – |
| path | string | – | – |
| recursive | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_input_actions ~68
List all UInputAction assets, optionally filtered by name and path. Returns name, path, value_type, trigger_count, modifier_count for each.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | – |
| max_results | integer | – | – |
| path | string | – | – |
| recursive | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_input_keys ~91
List available FKey values (keyboard, mouse, gamepad keys). Args: filter: Substring filter on key name or display name category: Filter by category — keyboard | mouse | gamepad | analog | digital max_results: Max keys to return (default 500)
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| filter | string | – | – |
| max_results | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_input_mapping_contexts ~63
List all UInputMappingContext assets, optionally filtered. Returns name, path, mapping_count, description for each.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | – |
| max_results | integer | – | – |
| path | string | – | – |
| recursive | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_material_expression_types ~82
List available material expression node types. Use filter to narrow results (e.g. "texture", "parameter", "math", "noise"). Set max_results to limit output (0 = unlimited). Set include_details=false for compact output (type names only).
| Name | Type | Req | Description |
|---|---|---|---|
| filter | – | – | – |
| include_details | boolean | – | – |
| max_results | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_modifier_types ~51
List all available UInputModifier subclasses with their editable properties. Useful for discovering valid modifier_type values. Returns name, display_name, parent class, and editable property names/types.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_available_parameters ~222
List parameters that can be bound to a Map Get / Map Set pin. Returns well-known Engine.* parameters and Particles.* attributes unconditionally. When system_path + module_name are supplied, also adds: * User.* parameters from the system's exposed parameter collection * Rapid-iteration parameters from every emitter script * The target scratch pad module's own script graph variables (Module.* / Input.* / Transient.*) Args: filter: Optional case-insensitive substring filter on parameter name namespace: "all" (default), "engine", "particles", "user", "module", "input", "transient", "rapid_iteration" max_results: Cap on returned entries (default 500) system_path: Optional system path to pull per-emitter + user params module_name: Optional scratch pad module to pull script-local params
| Name | Type | Req | Description |
|---|---|---|---|
| filter | – | – | – |
| max_results | integer | – | – |
| module_name | – | – | – |
| namespace | string | – | – |
| system_path | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_data_interface_functions ~257
Enumerate member functions on a Niagara data interface class. These are the functions you see in the right-click "Functions" submenu on a DI pin in the editor — built-in DI members like Array.Length, Array.Get, Array.Add, etc. They aren't UNiagaraScript assets so they don't show up in search_niagara_functions. Pass the result as function_name to add_niagara_graph_node(node_type="DataInterfaceFunction"). Each entry reports: - name: pass to function_name param - inputs / outputs: pin schema with names + Niagara types - supports_cpu / supports_gpu / read_function / write_function - description (when DI provides it) Authoritative source: UNiagaraDataInterface::GetFunctionSignatures (NIAGARA_API exported, NiagaraDataInterface.h:681). Args: di_class: Short ("NiagaraDataInterfaceArrayPosition") or full path filter: Optional substring on function name (e.g. "Length", "Get") include_pins: Default True — include input/output pin schema
| Name | Type | Req | Description |
|---|---|---|---|
| di_class | string | yes | – |
| filter | – | – | – |
| include_pins | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_data_interfaces ~49
List available Niagara Data Interfaces (Grid2D, Grid3D, AudioSpectrum, etc.). Args: filter: Optional substring filter on data interface name
| Name | Type | Req | Description |
|---|---|---|---|
| filter | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_emitter_templates ~62
List available emitter templates for use with add_niagara_emitter. Args: category: Filter by category — "all", "sprite", "mesh", "ribbon", "light", "audio"
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_input_source_menu ~250
Reproduce the stack-UI source dropdown for a specific input. Returns the exact options the editor offers when you click the dropdown on a stack input (screenshot reference: "Change Source" menu with Dynamic Inputs / Link Inputs / Make sections). Output: - input_type: the Niagara type of the target input (so you can filter) - dynamic_inputs: every UNiagaraScript with Usage=DynamicInput, with script_path ready to pass to set_niagara_dynamic_input - link_parameters: well-known engine/particle parameters + this system's user parameters, grouped by namespace Discovery is via: - FNiagaraEditorUtilities::GetFilteredScriptAssets (exported) for dynamic inputs - FNiagaraConstants::GetEngineConstants / GetCommonParticleAttributes for engine-side parameters - UNiagaraSystem::GetExposedParameters for the system's own user params
| Name | Type | Req | Description |
|---|---|---|---|
| emitter_name | string | yes | – |
| input_name | string | yes | – |
| module_name | string | yes | – |
| name_filter | – | – | – |
| script_usage | string | yes | – |
| system_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_modules ~101
List available Niagara module scripts for use with add_niagara_module. Args: category: Filter by category — "all", "spawn", "update", "forces", "rendering", "collision", "audio", "events" search: Optional substring search on module name max_results: Maximum number of results to return
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| max_results | integer | – | – |
| search | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_node_types ~257
Enumerate every Niagara node type that can be added to a graph. Combines three sources, mirroring what the right-click menu shows in the editor: * Node classes (UNiagaraNode subclasses) — Map Get, Map Set, Custom HLSL, If, etc. * Script assets — module / dynamic_input / function scripts from the Asset Registry * Data Interface classes (UNiagaraDataInterface subclasses) Filter-first to keep output compact. Each entry includes kind, display_name, category, tooltip/keywords, and a class_path or script_path for use with add_niagara_module / add_niagara_node_pin. Args: filter: Case-insensitive substring applied to name/display/category/keywords/tooltip kind: "all" (default), "node_class", "module_script", "dynamic_input_script", "function_script", "data_interface" include_engine: When false, script asset scan is restricted to /Game and /Niagara max_results: Cap on total entries returned (default 500)
| Name | Type | Req | Description |
|---|---|---|---|
| filter | – | – | – |
| include_engine | boolean | – | – |
| kind | string | – | – |
| max_results | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_ops ~302
Enumerate all valid UNiagaraNodeOp operations from FNiagaraOpInfo registry. This is the authoritative source the editor's context menu reads from — use it BEFORE calling add_niagara_graph_node with node_type="Op" so you pass a real op_name (e.g. "Numeric::Mul" vs the invalid "Numeric::Multiply"). Each entry reports: name (for op_name param), friendly_name, category, description, keywords, alternate_name, compact_name, supports_added_inputs, and — when include_pins=True — full input/output pin schema with types and defaults. Args: filter: Case-insensitive substring, matches name / friendly_name / category / description / keywords / alternate name. E.g. "multiply" finds "Numeric::Mul" via its friendly name. category: Exact category match (e.g. "Math", "Comparison", "Boolean", "Vector", "Quaternion"). Use the all_categories field in a first response to discover valid values. exact_name: Return the single op whose internal Name equals this string (bypasses other filters). include_pins: Include inputs/outputs per op (default True). max_results: Cap on returned entries (default 500).
| Name | Type | Req | Description |
|---|---|---|---|
| category | – | – | – |
| exact_name | – | – | – |
| filter | – | – | – |
| include_pins | boolean | – | – |
| max_results | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_parameter_types ~263
Live query of FNiagaraTypeRegistry — every type the editor's User Parameters "+" menu can add, including plugin-registered Data Interfaces. Args: scope: Which registry slice to query. "user" (default) = types addable as User.* parameters. Other scopes: "system", "emitter", "particle", "parameter", "payload", "numeric", "index", "all". kind: Filter by classification — "primitive", "struct", "enum", "data_interface", "object", or "all" (default). filter: Case-insensitive substring match on type name. For data interfaces also matches against the short name (without the "NiagaraDataInterface" prefix), so filter="ArrayFloat" finds NiagaraDataInterfaceArrayFloat. max_results: Cap on returned entries (default 500). Returns entries with name, kind, size_bytes, plus: - data_interface: class_path, short_name, category, description - enum: enum_path, num_entries - struct: struct_path, description
| Name | Type | Req | Description |
|---|---|---|---|
| filter | – | – | – |
| kind | string | – | – |
| max_results | integer | – | – |
| scope | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_scratch_pad_modules ~52
List all scratch pad modules on a Niagara System. Returns name, path, usage, node counts, and custom HLSL node count per script.
| Name | Type | Req | Description |
|---|---|---|---|
| system_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_script_parameters ~113
List input + output parameters of a Niagara script. Outputs come from UNiagaraNodeOutput::Outputs (the Output Dynamic Input node for dynamic inputs, or Output Module for modules). Inputs come from graph script variable metadata filtered to Module.* / Input.* / User.* namespaces. Useful for discovering what an "Add Parameter" dropdown would show or for diff-auditing a graph before/after mutation.
| Name | Type | Req | Description |
|---|---|---|---|
| module_name | – | – | – |
| script_path | – | – | – |
| system_path | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_niagara_systems ~75
List Niagara System assets in the project. Args: path: Content Browser directory to search in name_filter: Optional substring filter on asset name max_results: Maximum number of results to return
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | – |
| name_filter | – | – | – |
| path | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_statetree_enum_values ~162
List valid enum values for StateTree properties. Use this to discover valid values BEFORE creating states, transitions, or conditions. Does not require an asset_path — these are engine-level constants. Categories: - "trigger": OnStateCompleted, OnStateSucceeded, OnStateFailed, OnTick, OnEvent - "priority": Low, Normal, Medium, High, Critical - "state_type": State, Group, Linked, LinkedAsset, Subtree - "selection_behavior": None, TryEnterState, TrySelectChildrenInOrder, etc. - "operand": And, Or (for condition expressions) Args: category: One of: trigger, priority, state_type, selection_behavior, operand
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_statetree_node_types ~89
List available task/evaluator/condition types for the StateTree's schema. Args: asset_path: Content path to the StateTree asset (determines schema) category: "task", "evaluator", or "condition" filter: Optional substring filter on class name
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| category | string | yes | – |
| filter | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_trigger_types ~51
List all available UInputTrigger subclasses with their editable properties. Useful for discovering valid trigger_type values. Returns name, display_name, parent class, and editable property names/types.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_widget_types ~45
List available UWidget subclasses. Use filter to narrow results.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | – |
| include_abstract | boolean | – | – |
| panels_only | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
move_material_expression ~52
Move a material expression node to a new graph position.
| Name | Type | Req | Description |
|---|---|---|---|
| material_path | string | yes | – |
| node_index | integer | yes | – |
| pos_x | integer | yes | – |
| pos_y | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
move_widget ~59
Move a widget to a different parent panel. Cannot move root or into own descendants.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | – |
| new_parent_name | string | yes | – |
| widget_blueprint_path | string | yes | – |
| widget_name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
open_asset ~37
Open an asset in the UE5 editor (blueprint, material, data table, widget, etc.).
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
performance_analyze_insight ~1,691
Query profiling data from a loaded .utrace trace. RECOMMENDED WORKFLOW (compact output, saves context): 1. "diagnose" — ONE CALL full report: verdict, findings, categories, top timers 2. "spikes" — Auto worst frames + category breakdown 3. "flame" — Top timers by exclusive (self) time — actual bottleneck code 4. "hotpath" — Drill into a category or event's children 5. "search" — Find a timer across all frames (stats + worst frames) 6. "histogram" — Frame time distribution (periodic hitches vs sustained?) 7. "compare" — Compare frame vs trace median, show outlier events Use performance_start_trace/stop_trace to record and auto-load a trace, or use query="load" to load an existing .utrace file. Args: query: Type of analysis. One of: SMART QUERIES (compact output, do analysis in C++): - "diagnose" — ONE CALL full performance report. Returns: verdict string, severity-rated findings with recommendations, category breakdown (avg per-frame exclusive ms), top 10 exclusive timers, GPU-bound detection. Start here. - "bottlenecks" — Auto-categorize frame into Animation/Slate/Network/etc with total time per category and top event. VERY compact. - "hotpath" — Drill into a category or event's children, sorted by time - "compare" — Compare frame vs trace median, show outlier events only - "spikes" — Auto worst frames + category breakdown (combines worst_frames + bottlenecks). Shows top 3 categories per spike frame. - "search" — Find a timer across ALL frames. Returns min/avg/max/p95/p99 stats + worst frames list. Use filter= for timer name. - "histogram" — Frame time distribution. Shows bucket counts + budget summary (on-budget / s…
| Name | Type | Req | Description |
|---|---|---|---|
| bucket_size_ms | number | – | – |
| category | string | – | – |
| connection_index | integer | – | – |
| count | integer | – | – |
| end_time | number | – | – |
| event_name | string | – | – |
| filter | string | – | – |
| frame_index | integer | – | – |
| include_values | boolean | – | – |
| max_depth | integer | – | – |
| max_samples | integer | – | – |
| min_deviation_pct | number | – | – |
| min_duration_ms | number | – | – |
| mode | string | – | – |
| query | string | yes | – |
| start_time | number | – | – |
| target_fps | number | – | – |
| thread | string | – | – |
| thread_name | string | – | – |
| threshold_ms | number | – | – |
| timer_name | string | – | – |
| trace_path | string | – | – |
| tracker | integer | – | – |
| verbosity | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
performance_start_trace ~196
Start recording a performance trace from the running Unreal Editor. Records CPU, GPU, frame timing, and other profiling data to a .utrace file. Call performance_stop_trace when done to stop recording and auto-load for analysis. Args: file_path: Where to save the .utrace file. Empty = auto-generate in Saved/Profiling/ channels: Comma-separated trace channels or preset name. Presets: "default" (cpu,gpu,frame,log,bookmark,screenshot,region) Individual: cpu, gpu, frame, log, bookmark, screenshot, region, memtag, memalloc For network profiling add: net For asset loading add: loadtime For memory tracking add: memtag Example: "default,net,loadtime,memtag" for full profiling
| Name | Type | Req | Description |
|---|---|---|---|
| channels | string | – | – |
| file_path | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
performance_stop_trace ~70
Stop the active trace recording and optionally load it for analysis. After stopping, the trace is automatically loaded so you can immediately query it with performance_analyze_insight. Args: auto_load: If True (default), auto-load the recorded trace for analysis
| Name | Type | Req | Description |
|---|---|---|---|
| auto_load | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
read_blueprint_content ~73
Read complete Blueprint content: event graph, functions, variables, components.
| Name | Type | Req | Description |
|---|---|---|---|
| blueprint_path | string | yes | – |
| include_components | boolean | – | – |
| include_event_graph | boolean | – | – |
| include_functions | boolean | – | – |
| include_interfaces | boolean | – | – |
| include_variables | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
recompile_material ~30
Force recompile and save a material. Reports success/failure.
| Name | Type | Req | Description |
|---|---|---|---|
| material_path | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
remove_input_action_modifier ~45
Remove a modifier from an Input Action by index. Use get_input_action to see current modifier indices.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| index | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
remove_input_action_trigger ~45
Remove a trigger from an Input Action by index. Use get_input_action to see current trigger indices.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_path | string | yes | – |
| index | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
remove_key_mapping ~106
Remove a key mapping from an Input Mapping Context. Remove by index OR by action_path + key combination. Args: context_path: Path to the IMC asset index: Mapping index to remove (from get_input_mapping_context) action_path: Alternative — remove by action + key combo key: Alternative — remove by action + key combo
| Name | Type | Req | Description |
|---|---|---|---|
| action_path | – | – | – |
| context_path | string | yes | – |
| index | – | – | – |
| key | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.