ue-mcp 1.0.59 → 1.0.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.js +1 -1
- package/dist/tool-counts.json +5 -5
- package/dist/tools/gameplay.js +0 -24
- package/dist/tools/gameplay.js.map +1 -1
- package/dist/ue-mcp.default.yml +0 -84
- package/package.json +2 -2
- package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.cpp +3 -14
- package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.h +3 -21
- package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Public/JsonSerializer.h +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UE-MCP
|
|
2
2
|
|
|
3
|
-
**Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->21<!-- /count --> category tools covering <!-- count:actions -->
|
|
3
|
+
**Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->21<!-- /count --> category tools covering <!-- count:actions -->513+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows.
|
|
4
4
|
|
|
5
5
|
```mermaid
|
|
6
6
|
flowchart LR
|
|
@@ -57,7 +57,7 @@ If you prefer to configure manually, add to your MCP client config:
|
|
|
57
57
|
|
|
58
58
|
- [Getting Started](https://db-lyon.github.io/ue-mcp/getting-started/) — Installation, configuration, first run
|
|
59
59
|
- [Architecture](https://db-lyon.github.io/ue-mcp/architecture/) — How the pieces fit together
|
|
60
|
-
- [Tool Reference](https://db-lyon.github.io/ue-mcp/tool-reference/) - All <!-- count:tools -->21<!-- /count --> tools with <!-- count:actions -->
|
|
60
|
+
- [Tool Reference](https://db-lyon.github.io/ue-mcp/tool-reference/) - All <!-- count:tools -->21<!-- /count --> tools with <!-- count:actions -->513+<!-- /count --> actions
|
|
61
61
|
- [Flows](https://db-lyon.github.io/ue-mcp/flows/) - YAML flow engine, custom tasks, rollback, hooks
|
|
62
62
|
- [Configuration](https://db-lyon.github.io/ue-mcp/configuration/) — `.ue-mcp.json` and MCP client config
|
|
63
63
|
- [Neon Shrine Demo](https://db-lyon.github.io/ue-mcp/neon-shrine-demo/) — Interactive guided demo
|
package/dist/instructions.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SERVER_INSTRUCTIONS = "UE-MCP: Unreal Engine editor bridge (C++ plugin) \u2014 19 category tools covering 425+ actions.\n\nEvery tool takes an \"action\" parameter that selects the operation. Call project(action=\"get_status\") first.\n\n\u2550\u2550\u2550 QUICK START \u2550\u2550\u2550\n1. project(action=\"get_status\") \u2014 check if the editor is connected\n2. If not connected: editor(action=\"start_editor\") to launch UE\n3. level(action=\"get_outliner\") \u2014 see what's in the current level\n4. asset(action=\"list\") \u2014 browse project assets\n5. reflection(action=\"reflect_class\", className=\"StaticMeshActor\") \u2014 understand any UE class\n6. demo(action=\"step\", stepIndex=1) through 19 \u2014 run the Neon Shrine demo to see the bridge in action\n7. demo(action=\"cleanup\") \u2014 clean up after the demo\n\n\u2550\u2550\u2550 TOOLS & ACTIONS \u2550\u2550\u2550\n\nproject \u2014 Project status, config INI, C++ source\n get_status, set_project, get_info, read_config, search_config, list_config_tags,\n set_config, read_cpp_header, read_module, list_modules, search_cpp\n\nasset \u2014 Assets: list, search, CRUD, import, export, datatables, textures\n list, search, read, read_properties, duplicate, rename, move, delete, save,\n import_static_mesh, import_skeletal_mesh, import_animation, import_texture,\n read_datatable, create_datatable, reimport_datatable, list_textures,\n get_texture_info, set_texture_settings,\n add_socket, remove_socket, list_sockets\n\nblueprint \u2014 Blueprint reading, authoring, compilation\n read, list_variables, list_functions, read_graph, create, add_variable,\n set_variable_properties, create_function, delete_function, rename_function,\n add_node, delete_node, set_node_property, connect_pins, add_component,\n compile, list_node_types, search_node_types, create_interface, add_interface,\n add_event_dispatcher, list_graphs\n\nlevel \u2014 Level actors, selection, components, volumes, lights, splines\n get_outliner, place_actor, delete_actor, get_actor_details, move_actor,\n select, get_selected, add_component, set_component_property,\n get_current, load, save, list, create,\n spawn_volume, list_volumes, set_volume_properties,\n spawn_light, set_light_properties, build_lighting,\n get_spline_info, set_spline_points\n\nmaterial \u2014 Materials, shading, and graph authoring\n read, list_parameters, set_parameter, create_instance, create,\n set_shading_model, set_base_color, connect_texture,\n add_expression, connect_expressions, connect_to_property,\n list_expressions, delete_expression, list_expression_types, recompile\n\nanimation \u2014 Anim assets, skeletons, montages, blendspaces\n read_anim_blueprint, read_montage, read_sequence, scan_animation_tracks, read_blendspace, list,\n create_montage, create_anim_blueprint, create_blendspace, add_notify,\n get_skeleton_info, list_sockets, list_skeletal_meshes, get_physics_asset,\n create_sequence, set_bone_keyframes, get_bone_transforms,\n set_montage_sequence, set_montage_properties\n\nlandscape \u2014 Terrain sculpting, painting, layers\n get_info, list_layers, sample, list_splines, get_component,\n sculpt, paint_layer, set_material, add_layer_info, import_heightmap\n\npcg \u2014 Procedural Content Generation graphs\n list_graphs, read_graph, read_node_settings, get_components,\n get_component_details, create_graph, add_node, connect_nodes,\n set_node_settings, remove_node, execute, add_volume\n\nfoliage \u2014 Foliage painting and types\n list_types, get_settings, sample, paint, erase, create_type, set_settings\n\nniagara \u2014 VFX systems and graph authoring\n list, get_info, spawn, set_parameter, create,\n create_emitter, add_emitter, list_emitters, set_emitter_property,\n list_modules, get_emitter_info\n\naudio \u2014 Sound assets and playback\n list, play_at_location, spawn_ambient, create_cue, create_metasound\n\nwidget \u2014 UMG widgets and editor utilities\n read_tree, get_details, set_property (slot.* for layout), list, read_animations,\n create, add_widget, remove_widget, move_widget, list_classes,\n create_utility_widget, run_utility_widget,\n create_utility_blueprint, run_utility_blueprint\n\neditor \u2014 Console, Python, PIE, viewport, sequencer, perf, build pipeline, logs\n execute_command, execute_python, set_property, play_in_editor,\n get_runtime_value, hot_reload, undo, redo,\n get_perf_stats, run_stat, set_scalability, capture_screenshot,\n get_viewport, set_viewport, focus_on_actor,\n create_sequence, get_sequence_info, add_sequence_track, play_sequence,\n build_all, build_geometry, build_hlod, validate_assets,\n get_build_status, cook_content,\n get_log, search_log, get_message_log,\n set_dialog_policy, clear_dialog_policy, get_dialog_policy,\n list_dialogs, respond_to_dialog\n\nreflection \u2014 UE class/struct/enum reflection, gameplay tags\n reflect_class, reflect_struct, reflect_enum, list_classes,\n list_tags, create_tag\n\ngameplay \u2014 Physics, collision, navigation, input, behavior trees, AI, game framework\n set_collision_profile, set_simulate_physics, set_collision_enabled,\n set_physics_properties, rebuild_navigation, get_navmesh_info,\n project_to_nav, spawn_nav_modifier,\n create_input_action, create_input_mapping, list_input_assets, set_mapping_modifiers,\n list_behavior_trees, get_behavior_tree_info,\n create_blackboard, create_behavior_tree,\n create_eqs_query, list_eqs_queries,\n add_perception, configure_sense,\n create_state_tree, list_state_trees, add_state_tree_component,\n create_smart_object_def, add_smart_object_component,\n create_game_mode, create_game_state, create_player_controller,\n create_player_state, create_hud, set_world_game_mode, get_framework_info\n\ngas \u2014 Gameplay Ability System\n add_asc, create_attribute_set, add_attribute,\n create_ability, set_ability_tags,\n create_effect, set_effect_modifier,\n create_cue, get_info\n\nnetworking \u2014 Replication and networking\n set_replicates, set_property_replicated, configure_net_frequency,\n set_dormancy, set_net_load_on_client, set_always_relevant,\n set_only_relevant_to_owner, configure_cull_distance,\n set_priority, set_replicate_movement, get_info\n\nstatetree \u2014 StateTree asset editing: read, modify states/tasks/conditions/transitions/bindings, compile\n read, list_states, add_state, remove_state, set_state_property, clear_state_nodes,\n add_task, add_enter_condition, remove_task, set_task_instance_property,\n add_transition, add_transition_condition, remove_transition,\n add_binding, remove_binding, list_bindings,\n set_root_parameters, compile, validate\n\ndemo \u2014 Neon Shrine demo scene\n step, cleanup\n\nfeedback \u2014 Agent feedback submission\n submit\n\nplugins \u2014 Introspect npm-distributed plugins that inject actions into other categories (read-only)\n list, describe\n\n\u2550\u2550\u2550 TIPS \u2550\u2550\u2550\n\u2022 Start with level(action=\"get_outliner\") or asset(action=\"list\") to discover what's in the project.\n\u2022 Use reflection(action=\"reflect_class\") to understand any UE class's properties.\n\u2022 asset(action=\"search\", query=\"/Game/Characters/*\") accepts wildcards.\n\u2022 For BP scripting: blueprint(action=\"search_node_types\") \u2192 blueprint(action=\"add_node\") \u2192 blueprint(action=\"connect_pins\").\n\u2022 editor(action=\"execute_python\") is the escape hatch for any Unreal Python API call.\n\u2022 Animation tools need a skeleton path \u2014 use animation(action=\"list_skeletal_meshes\") to find it.\n\u2022 Editor lifecycle: editor(action=\"stop_editor\") / editor(action=\"start_editor\") / editor(action=\"restart_editor\") manage the UE process. editor(action=\"build_project\") builds the project C++ code (stop the editor first).\n\u2022 editor(action=\"hot_reload\") triggers Live Coding compilation without restarting the editor.\n\u2022 editor(action=\"focus_on_actor\", actorLabel=\"MyActor\") snaps the viewport to any actor.\n\u2022 Log output: editor(action=\"get_log\", category=\"LogMCPBridge\") to see bridge-specific logs.\n\n\u2550\u2550\u2550 FLOWS \u2014 READ BEFORE ACTING \u2550\u2550\u2550\n\nBefore you run bash/npm commands or chain 3+ category tool calls to\nsatisfy a user request, look at the `flows` field returned by\nproject(action=\"get_status\").\n\nThat field lists named, pre-built sequences for this project. Each\nentry has a name and description. If ANY flow's description matches\nwhat the user asked for, you MUST run it instead of building the\nsequence yourself.\n\nExamples:\n User asks | Look for a flow like\n ---------------------------------- | ------------------------------\n \"rebuild and relaunch the editor\" | rebuild\n \"run the smoke tests\" | smoke\n \"redeploy the plugin\" | deploy, redeploy\n \"package the project\" | package\n\nRun a matched flow with: flow(action=\"run\", flowName=\"<name>\")\n\nDO NOT:\n- Skip the get_status flows check before running bash/npm yourself.\n- Author a new flow on your own. Only the user authors flows.\n- Suggest a flow for a one-off task the user is unlikely to repeat.\n\nDO suggest a new flow IF AND ONLY IF all three are true:\n 1. You just finished a sequence with 3+ steps.\n 2. The sequence had the same shape every run, with only 1-2 values\n changing.\n 3. The user is likely to ask for the same shape again.\nIn that case say: \"This sequence (X -> Y -> Z) might be worth registering\nas a flow in ue-mcp.yml. Want me to draft one?\" Then STOP. Wait.\n\n\u2550\u2550\u2550 FEEDBACK \u2550\u2550\u2550\nIf you had to use editor(action=\"execute_python\") as a workaround because a native tool\ncouldn't handle the task, keep a mental note of what you did and why. When your task is\ncomplete, tell the user:\n \"I had to use custom Python scripts to [describe what]. Would you like to submit\n feedback to help improve ue-mcp?\"\nIf the user agrees, call feedback(action=\"submit\") with:\n \u2022 title \u2014 short, generic description of the gap (no project-specific details)\n \u2022 summary \u2014 what was attempted and why the native tool fell short\n \u2022 pythonWorkaround \u2014 the Python code that was used\n \u2022 idealTool \u2014 what tool/action should handle this natively\nThis creates a GitHub issue so the maintainers can add proper support.\n";
|
|
1
|
+
export declare const SERVER_INSTRUCTIONS = "UE-MCP: Unreal Engine editor bridge (C++ plugin) \u2014 19 category tools covering 425+ actions.\n\nEvery tool takes an \"action\" parameter that selects the operation. Call project(action=\"get_status\") first.\n\n\u2550\u2550\u2550 QUICK START \u2550\u2550\u2550\n1. project(action=\"get_status\") \u2014 check if the editor is connected\n2. If not connected: editor(action=\"start_editor\") to launch UE\n3. level(action=\"get_outliner\") \u2014 see what's in the current level\n4. asset(action=\"list\") \u2014 browse project assets\n5. reflection(action=\"reflect_class\", className=\"StaticMeshActor\") \u2014 understand any UE class\n6. demo(action=\"step\", stepIndex=1) through 19 \u2014 run the Neon Shrine demo to see the bridge in action\n7. demo(action=\"cleanup\") \u2014 clean up after the demo\n\n\u2550\u2550\u2550 TOOLS & ACTIONS \u2550\u2550\u2550\n\nproject \u2014 Project status, config INI, C++ source\n get_status, set_project, get_info, read_config, search_config, list_config_tags,\n set_config, read_cpp_header, read_module, list_modules, search_cpp\n\nasset \u2014 Assets: list, search, CRUD, import, export, datatables, textures\n list, search, read, read_properties, duplicate, rename, move, delete, save,\n import_static_mesh, import_skeletal_mesh, import_animation, import_texture,\n read_datatable, create_datatable, reimport_datatable, list_textures,\n get_texture_info, set_texture_settings,\n add_socket, remove_socket, list_sockets\n\nblueprint \u2014 Blueprint reading, authoring, compilation\n read, list_variables, list_functions, read_graph, create, add_variable,\n set_variable_properties, create_function, delete_function, rename_function,\n add_node, delete_node, set_node_property, connect_pins, add_component,\n compile, list_node_types, search_node_types, create_interface, add_interface,\n add_event_dispatcher, list_graphs\n\nlevel \u2014 Level actors, selection, components, volumes, lights, splines\n get_outliner, place_actor, delete_actor, get_actor_details, move_actor,\n select, get_selected, add_component, set_component_property,\n get_current, load, save, list, create,\n spawn_volume, list_volumes, set_volume_properties,\n spawn_light, set_light_properties, build_lighting,\n get_spline_info, set_spline_points\n\nmaterial \u2014 Materials, shading, and graph authoring\n read, list_parameters, set_parameter, create_instance, create,\n set_shading_model, set_base_color, connect_texture,\n add_expression, connect_expressions, connect_to_property,\n list_expressions, delete_expression, list_expression_types, recompile\n\nanimation \u2014 Anim assets, skeletons, montages, blendspaces\n read_anim_blueprint, read_montage, read_sequence, scan_animation_tracks, read_blendspace, list,\n create_montage, create_anim_blueprint, create_blendspace, add_notify,\n get_skeleton_info, list_sockets, list_skeletal_meshes, get_physics_asset,\n create_sequence, set_bone_keyframes, get_bone_transforms,\n set_montage_sequence, set_montage_properties\n\nlandscape \u2014 Terrain sculpting, painting, layers\n get_info, list_layers, sample, list_splines, get_component,\n sculpt, paint_layer, set_material, add_layer_info, import_heightmap\n\npcg \u2014 Procedural Content Generation graphs\n list_graphs, read_graph, read_node_settings, get_components,\n get_component_details, create_graph, add_node, connect_nodes,\n set_node_settings, remove_node, execute, add_volume\n\nfoliage \u2014 Foliage painting and types\n list_types, get_settings, sample, paint, erase, create_type, set_settings\n\nniagara \u2014 VFX systems and graph authoring\n list, get_info, spawn, set_parameter, create,\n create_emitter, add_emitter, list_emitters, set_emitter_property,\n list_modules, get_emitter_info\n\naudio \u2014 Sound assets and playback\n list, play_at_location, spawn_ambient, create_cue, create_metasound\n\nwidget \u2014 UMG widgets and editor utilities\n read_tree, get_details, set_property (slot.* for layout), list, read_animations,\n create, add_widget, remove_widget, move_widget, list_classes,\n create_utility_widget, run_utility_widget,\n create_utility_blueprint, run_utility_blueprint\n\neditor \u2014 Console, Python, PIE, viewport, sequencer, perf, build pipeline, logs\n execute_command, execute_python, set_property, play_in_editor,\n get_runtime_value, hot_reload, undo, redo,\n get_perf_stats, run_stat, set_scalability, capture_screenshot,\n get_viewport, set_viewport, focus_on_actor,\n create_sequence, get_sequence_info, add_sequence_track, play_sequence,\n build_all, build_geometry, build_hlod, validate_assets,\n get_build_status, cook_content,\n get_log, search_log, get_message_log,\n set_dialog_policy, clear_dialog_policy, get_dialog_policy,\n list_dialogs, respond_to_dialog\n\nreflection \u2014 UE class/struct/enum reflection, gameplay tags\n reflect_class, reflect_struct, reflect_enum, list_classes,\n list_tags, create_tag\n\ngameplay \u2014 Physics, collision, navigation, input, behavior trees, AI, game framework\n set_collision_profile, set_simulate_physics, set_collision_enabled,\n set_physics_properties, rebuild_navigation, get_navmesh_info,\n project_to_nav, spawn_nav_modifier,\n list_input_assets,\n list_behavior_trees, get_behavior_tree_info,\n create_blackboard, create_behavior_tree,\n create_eqs_query, list_eqs_queries,\n add_perception, configure_sense,\n create_state_tree, list_state_trees, add_state_tree_component,\n create_smart_object_def, add_smart_object_component,\n create_game_mode, create_game_state, create_player_controller,\n create_player_state, create_hud, set_world_game_mode, get_framework_info\n\ngas \u2014 Gameplay Ability System\n add_asc, create_attribute_set, add_attribute,\n create_ability, set_ability_tags,\n create_effect, set_effect_modifier,\n create_cue, get_info\n\nnetworking \u2014 Replication and networking\n set_replicates, set_property_replicated, configure_net_frequency,\n set_dormancy, set_net_load_on_client, set_always_relevant,\n set_only_relevant_to_owner, configure_cull_distance,\n set_priority, set_replicate_movement, get_info\n\nstatetree \u2014 StateTree asset editing: read, modify states/tasks/conditions/transitions/bindings, compile\n read, list_states, add_state, remove_state, set_state_property, clear_state_nodes,\n add_task, add_enter_condition, remove_task, set_task_instance_property,\n add_transition, add_transition_condition, remove_transition,\n add_binding, remove_binding, list_bindings,\n set_root_parameters, compile, validate\n\ndemo \u2014 Neon Shrine demo scene\n step, cleanup\n\nfeedback \u2014 Agent feedback submission\n submit\n\nplugins \u2014 Introspect npm-distributed plugins that inject actions into other categories (read-only)\n list, describe\n\n\u2550\u2550\u2550 TIPS \u2550\u2550\u2550\n\u2022 Start with level(action=\"get_outliner\") or asset(action=\"list\") to discover what's in the project.\n\u2022 Use reflection(action=\"reflect_class\") to understand any UE class's properties.\n\u2022 asset(action=\"search\", query=\"/Game/Characters/*\") accepts wildcards.\n\u2022 For BP scripting: blueprint(action=\"search_node_types\") \u2192 blueprint(action=\"add_node\") \u2192 blueprint(action=\"connect_pins\").\n\u2022 editor(action=\"execute_python\") is the escape hatch for any Unreal Python API call.\n\u2022 Animation tools need a skeleton path \u2014 use animation(action=\"list_skeletal_meshes\") to find it.\n\u2022 Editor lifecycle: editor(action=\"stop_editor\") / editor(action=\"start_editor\") / editor(action=\"restart_editor\") manage the UE process. editor(action=\"build_project\") builds the project C++ code (stop the editor first).\n\u2022 editor(action=\"hot_reload\") triggers Live Coding compilation without restarting the editor.\n\u2022 editor(action=\"focus_on_actor\", actorLabel=\"MyActor\") snaps the viewport to any actor.\n\u2022 Log output: editor(action=\"get_log\", category=\"LogMCPBridge\") to see bridge-specific logs.\n\n\u2550\u2550\u2550 FLOWS \u2014 READ BEFORE ACTING \u2550\u2550\u2550\n\nBefore you run bash/npm commands or chain 3+ category tool calls to\nsatisfy a user request, look at the `flows` field returned by\nproject(action=\"get_status\").\n\nThat field lists named, pre-built sequences for this project. Each\nentry has a name and description. If ANY flow's description matches\nwhat the user asked for, you MUST run it instead of building the\nsequence yourself.\n\nExamples:\n User asks | Look for a flow like\n ---------------------------------- | ------------------------------\n \"rebuild and relaunch the editor\" | rebuild\n \"run the smoke tests\" | smoke\n \"redeploy the plugin\" | deploy, redeploy\n \"package the project\" | package\n\nRun a matched flow with: flow(action=\"run\", flowName=\"<name>\")\n\nDO NOT:\n- Skip the get_status flows check before running bash/npm yourself.\n- Author a new flow on your own. Only the user authors flows.\n- Suggest a flow for a one-off task the user is unlikely to repeat.\n\nDO suggest a new flow IF AND ONLY IF all three are true:\n 1. You just finished a sequence with 3+ steps.\n 2. The sequence had the same shape every run, with only 1-2 values\n changing.\n 3. The user is likely to ask for the same shape again.\nIn that case say: \"This sequence (X -> Y -> Z) might be worth registering\nas a flow in ue-mcp.yml. Want me to draft one?\" Then STOP. Wait.\n\n\u2550\u2550\u2550 FEEDBACK \u2550\u2550\u2550\nIf you had to use editor(action=\"execute_python\") as a workaround because a native tool\ncouldn't handle the task, keep a mental note of what you did and why. When your task is\ncomplete, tell the user:\n \"I had to use custom Python scripts to [describe what]. Would you like to submit\n feedback to help improve ue-mcp?\"\nIf the user agrees, call feedback(action=\"submit\") with:\n \u2022 title \u2014 short, generic description of the gap (no project-specific details)\n \u2022 summary \u2014 what was attempted and why the native tool fell short\n \u2022 pythonWorkaround \u2014 the Python code that was used\n \u2022 idealTool \u2014 what tool/action should handle this natively\nThis creates a GitHub issue so the maintainers can add proper support.\n";
|
package/dist/instructions.js
CHANGED
|
@@ -98,7 +98,7 @@ gameplay — Physics, collision, navigation, input, behavior trees, AI, game fra
|
|
|
98
98
|
set_collision_profile, set_simulate_physics, set_collision_enabled,
|
|
99
99
|
set_physics_properties, rebuild_navigation, get_navmesh_info,
|
|
100
100
|
project_to_nav, spawn_nav_modifier,
|
|
101
|
-
|
|
101
|
+
list_input_assets,
|
|
102
102
|
list_behavior_trees, get_behavior_tree_info,
|
|
103
103
|
create_blackboard, create_behavior_tree,
|
|
104
104
|
create_eqs_query, list_eqs_queries,
|
package/dist/tool-counts.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"tools": 21,
|
|
3
|
-
"actions":
|
|
4
|
-
"bridgeActions":
|
|
3
|
+
"actions": 513,
|
|
4
|
+
"bridgeActions": 485,
|
|
5
5
|
"localActions": 28,
|
|
6
6
|
"perTool": {
|
|
7
7
|
"project": 25,
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"widget": 19,
|
|
19
19
|
"editor": 53,
|
|
20
20
|
"reflection": 8,
|
|
21
|
-
"gameplay":
|
|
21
|
+
"gameplay": 40,
|
|
22
22
|
"gas": 9,
|
|
23
23
|
"networking": 11,
|
|
24
24
|
"demo": 3,
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
"statetree": 35,
|
|
27
27
|
"plugins": 2
|
|
28
28
|
},
|
|
29
|
-
"generatedAt": "2026-05-
|
|
30
|
-
"version": "1.0.
|
|
29
|
+
"generatedAt": "2026-05-27T05:29:06.964Z",
|
|
30
|
+
"version": "1.0.61"
|
|
31
31
|
}
|
package/dist/tools/gameplay.js
CHANGED
|
@@ -12,16 +12,7 @@ export const gameplayTool = categoryTool("gameplay", "Gameplay systems: physics,
|
|
|
12
12
|
get_navmesh_info: bp("Query nav system", "get_navmesh_info"),
|
|
13
13
|
project_to_nav: bp("Project point to navmesh. Params: location, extent?", "project_point_to_navigation"),
|
|
14
14
|
spawn_nav_modifier: bp("Place nav modifier. Params: location, extent?, areaClass?", "spawn_nav_modifier_volume"),
|
|
15
|
-
create_input_action: bp("Create InputAction. Params: name, packagePath?, valueType?", "create_input_action"),
|
|
16
|
-
create_input_mapping: bp("Create InputMappingContext. Params: name, packagePath?", "create_input_mapping_context"),
|
|
17
15
|
list_input_assets: bp("List input assets. Params: directory?, recursive?", "list_input_assets"),
|
|
18
|
-
read_imc: bp("Read InputMappingContext mappings. Params: imcPath. Returns {key, inputAction, triggers[], modifiers[]}.", "read_imc"),
|
|
19
|
-
list_input_mappings: bp("Alias for read_imc. List key→action bindings with triggers/modifiers. Params: imcPath", "list_imc_mappings"),
|
|
20
|
-
add_imc_mapping: bp("Add key mapping to IMC. Params: imcPath, inputActionPath, key", "add_imc_mapping"),
|
|
21
|
-
set_mapping_modifiers: bp("Set modifiers/triggers on an IMC mapping. Params: imcPath, mappingIndex?, modifiers?, triggers?", "set_mapping_modifiers"),
|
|
22
|
-
remove_imc_mapping: bp("(#158) Remove an IMC mapping. Params: imcPath, mappingIndex? | (inputActionPath? + key?)", "remove_imc_mapping"),
|
|
23
|
-
set_imc_mapping_key: bp("(#158) Rebind an IMC mapping to a new key. Params: imcPath, newKey, mappingIndex? | key? | inputActionPath?", "set_imc_mapping_key"),
|
|
24
|
-
set_imc_mapping_action: bp("(#158) Retarget an IMC mapping to a different InputAction. Params: imcPath, newInputActionPath, mappingIndex? | key? | inputActionPath?", "set_imc_mapping_action"),
|
|
25
16
|
list_behavior_trees: bp("List behavior trees. Params: directory?, recursive?", "list_behavior_trees"),
|
|
26
17
|
get_behavior_tree_info: bp("Inspect behavior tree (top-level + blackboard). Params: assetPath", "get_behavior_tree_info"),
|
|
27
18
|
read_behavior_tree_graph: bp("Walk BT tree: composites, tasks, decorators, services with blackboard keys. Params: assetPath", "read_behavior_tree_graph"),
|
|
@@ -43,10 +34,6 @@ export const gameplayTool = categoryTool("gameplay", "Gameplay systems: physics,
|
|
|
43
34
|
remove_smart_object_slot: bp("Remove a slot by index. Idempotent: out-of-range returns alreadyDeleted=true. Params: assetPath, slotIndex (#416)", "remove_smart_object_slot", (p) => ({ assetPath: p.assetPath, slotIndex: p.slotIndex })),
|
|
44
35
|
list_smart_object_slots: bp("List slots on a SmartObjectDefinition with index, offset, rotation, and raw text. Params: assetPath (#416)", "list_smart_object_slots", (p) => ({ assetPath: p.assetPath })),
|
|
45
36
|
add_smart_object_slot_behavior: bp("Attach a behavior definition (UBehaviorDefinition asset or class) to a slot's BehaviorDefinitions array. Pass instanceProperties to seed UPROPERTYs on a freshly-spawned class-instance. Params: assetPath, slotIndex, behaviorClass (asset path or class path), instanceProperties? (#416)", "add_smart_object_slot_behavior", (p) => ({ assetPath: p.assetPath, slotIndex: p.slotIndex, behaviorClass: p.behaviorClass, instanceProperties: p.instanceProperties })),
|
|
46
|
-
inspect_pie: bp("Inspect PIE runtime. Params: actorLabel?", "inspect_pie"),
|
|
47
|
-
get_pie_anim_state: bp("Get PIE anim instance state. Params: actorLabel", "get_pie_anim_state"),
|
|
48
|
-
get_pie_anim_properties: bp("Read arbitrary UPROPERTY values on a PIE actor's AnimInstance (#139). Params: actorLabel, propertyNames? (omit = dump all)", "get_pie_anim_properties", (p) => ({ actorLabel: p.actorLabel, propertyNames: p.propertyNames })),
|
|
49
|
-
get_pie_subsystem_state: bp("Read UPROPERTY values on a running subsystem in PIE (#139). Params: subsystemClass, scope? (game|world|engine|localplayer), propertyNames?", "get_pie_subsystem_state", (p) => ({ subsystemClass: p.subsystemClass, scope: p.scope, propertyNames: p.propertyNames })),
|
|
50
37
|
create_game_mode: bp("Create GameMode BP. Params: name, packagePath?, parentClass?, defaults?", "create_game_mode"),
|
|
51
38
|
create_game_state: bp("Create GameState BP. Params: name, packagePath?, parentClass?", "create_game_state"),
|
|
52
39
|
create_player_controller: bp("Create PlayerController BP. Params: name, packagePath?, parentClass?", "create_player_controller"),
|
|
@@ -55,7 +42,6 @@ export const gameplayTool = categoryTool("gameplay", "Gameplay systems: physics,
|
|
|
55
42
|
set_world_game_mode: bp("Set level GameMode override. Params: gameModePath", "set_world_game_mode"),
|
|
56
43
|
get_framework_info: bp("Get level framework classes", "get_game_framework_info"),
|
|
57
44
|
get_navmesh_details: bp("Read RecastNavMesh generation params (cellSize, agentHeight, maxStepHeight, etc.) (#163)", "get_navmesh_details"),
|
|
58
|
-
apply_damage_in_pie: bp("Apply damage to PIE actor. Params: actorLabel, baseDamage?, damageTypeClass? (#186)", "apply_damage_in_pie"),
|
|
59
45
|
}, undefined, {
|
|
60
46
|
actorLabel: z.string().optional(),
|
|
61
47
|
profileName: z.string().optional(),
|
|
@@ -98,15 +84,5 @@ export const gameplayTool = categoryTool("gameplay", "Gameplay systems: physics,
|
|
|
98
84
|
imcPath: z.string().optional(),
|
|
99
85
|
inputActionPath: z.string().optional(),
|
|
100
86
|
key: z.string().optional(),
|
|
101
|
-
newKey: z.string().optional().describe("New FKey name for set_imc_mapping_key"),
|
|
102
|
-
newInputActionPath: z.string().optional().describe("New InputAction path for set_imc_mapping_action"),
|
|
103
|
-
mappingIndex: z.number().optional().describe("Index of mapping in IMC (default 0)"),
|
|
104
|
-
modifiers: z.array(z.record(z.unknown())).optional().describe("Array of modifier objects: {type, ...props}"),
|
|
105
|
-
triggers: z.array(z.record(z.unknown())).optional().describe("Array of trigger objects: {type, ...props}"),
|
|
106
|
-
propertyNames: z.array(z.string()).optional().describe("Property names to read for get_pie_anim_properties/get_pie_subsystem_state"),
|
|
107
|
-
subsystemClass: z.string().optional().describe("Subsystem class path or short name for get_pie_subsystem_state"),
|
|
108
|
-
scope: z.enum(["game", "world", "engine", "localplayer"]).optional().describe("Subsystem scope for get_pie_subsystem_state (default: game)"),
|
|
109
|
-
baseDamage: z.number().optional().describe("Damage amount for apply_damage_in_pie (default 10)"),
|
|
110
|
-
damageTypeClass: z.string().optional().describe("Damage type class for apply_damage_in_pie"),
|
|
111
87
|
});
|
|
112
88
|
//# sourceMappingURL=gameplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gameplay.js","sourceRoot":"","sources":["../../src/tools/gameplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAgB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAY,YAAY,CAC/C,UAAU,EACV,4IAA4I,EAC5I;IACE,qBAAqB,EAAG,EAAE,CAAC,uDAAuD,EAAE,uBAAuB,CAAC;IAC5G,oBAAoB,EAAI,EAAE,CAAC,8CAA8C,EAAE,sBAAsB,CAAC;IAClG,qBAAqB,EAAG,EAAE,CAAC,0DAA0D,EAAE,uBAAuB,CAAC;IAC/G,sBAAsB,EAAE,EAAE,CAAC,sGAAsG,EAAE,wBAAwB,CAAC;IAC5J,kBAAkB,EAAM,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACnE,aAAa,EAAW,EAAE,CAAC,6PAA6P,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7X,iBAAiB,EAAO,EAAE,CAAC,oLAAoL,EAAE,mBAAmB,CAAC;IACrO,gBAAgB,EAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAClE,cAAc,EAAU,EAAE,CAAC,qDAAqD,EAAE,6BAA6B,CAAC;IAChH,kBAAkB,EAAM,EAAE,CAAC,2DAA2D,EAAE,2BAA2B,CAAC;IACpH,
|
|
1
|
+
{"version":3,"file":"gameplay.js","sourceRoot":"","sources":["../../src/tools/gameplay.ts"],"names":[],"mappings":"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"}
|
package/dist/ue-mcp.default.yml
CHANGED
|
@@ -2517,66 +2517,12 @@ tasks:
|
|
|
2517
2517
|
description: "Place nav modifier. Params: location, extent?, areaClass?"
|
|
2518
2518
|
options:
|
|
2519
2519
|
method: spawn_nav_modifier_volume
|
|
2520
|
-
gameplay.create_input_action:
|
|
2521
|
-
class_path: ue-mcp.bridge
|
|
2522
|
-
group: gameplay
|
|
2523
|
-
description: "Create InputAction. Params: name, packagePath?, valueType?"
|
|
2524
|
-
options:
|
|
2525
|
-
method: create_input_action
|
|
2526
|
-
gameplay.create_input_mapping:
|
|
2527
|
-
class_path: ue-mcp.bridge
|
|
2528
|
-
group: gameplay
|
|
2529
|
-
description: "Create InputMappingContext. Params: name, packagePath?"
|
|
2530
|
-
options:
|
|
2531
|
-
method: create_input_mapping_context
|
|
2532
2520
|
gameplay.list_input_assets:
|
|
2533
2521
|
class_path: ue-mcp.bridge
|
|
2534
2522
|
group: gameplay
|
|
2535
2523
|
description: "List input assets. Params: directory?, recursive?"
|
|
2536
2524
|
options:
|
|
2537
2525
|
method: list_input_assets
|
|
2538
|
-
gameplay.read_imc:
|
|
2539
|
-
class_path: ue-mcp.bridge
|
|
2540
|
-
group: gameplay
|
|
2541
|
-
description: "Read InputMappingContext mappings. Params: imcPath. Returns {key, inputAction, triggers[], modifiers[]}."
|
|
2542
|
-
options:
|
|
2543
|
-
method: read_imc
|
|
2544
|
-
gameplay.list_input_mappings:
|
|
2545
|
-
class_path: ue-mcp.bridge
|
|
2546
|
-
group: gameplay
|
|
2547
|
-
description: "Alias for read_imc. List key→action bindings with triggers/modifiers. Params: imcPath"
|
|
2548
|
-
options:
|
|
2549
|
-
method: list_imc_mappings
|
|
2550
|
-
gameplay.add_imc_mapping:
|
|
2551
|
-
class_path: ue-mcp.bridge
|
|
2552
|
-
group: gameplay
|
|
2553
|
-
description: "Add key mapping to IMC. Params: imcPath, inputActionPath, key"
|
|
2554
|
-
options:
|
|
2555
|
-
method: add_imc_mapping
|
|
2556
|
-
gameplay.set_mapping_modifiers:
|
|
2557
|
-
class_path: ue-mcp.bridge
|
|
2558
|
-
group: gameplay
|
|
2559
|
-
description: "Set modifiers/triggers on an IMC mapping. Params: imcPath, mappingIndex?, modifiers?, triggers?"
|
|
2560
|
-
options:
|
|
2561
|
-
method: set_mapping_modifiers
|
|
2562
|
-
gameplay.remove_imc_mapping:
|
|
2563
|
-
class_path: ue-mcp.bridge
|
|
2564
|
-
group: gameplay
|
|
2565
|
-
description: "(#158) Remove an IMC mapping. Params: imcPath, mappingIndex? | (inputActionPath? + key?)"
|
|
2566
|
-
options:
|
|
2567
|
-
method: remove_imc_mapping
|
|
2568
|
-
gameplay.set_imc_mapping_key:
|
|
2569
|
-
class_path: ue-mcp.bridge
|
|
2570
|
-
group: gameplay
|
|
2571
|
-
description: "(#158) Rebind an IMC mapping to a new key. Params: imcPath, newKey, mappingIndex? | key? | inputActionPath?"
|
|
2572
|
-
options:
|
|
2573
|
-
method: set_imc_mapping_key
|
|
2574
|
-
gameplay.set_imc_mapping_action:
|
|
2575
|
-
class_path: ue-mcp.bridge
|
|
2576
|
-
group: gameplay
|
|
2577
|
-
description: "(#158) Retarget an IMC mapping to a different InputAction. Params: imcPath, newInputActionPath, mappingIndex? | key? | inputActionPath?"
|
|
2578
|
-
options:
|
|
2579
|
-
method: set_imc_mapping_action
|
|
2580
2526
|
gameplay.list_behavior_trees:
|
|
2581
2527
|
class_path: ue-mcp.bridge
|
|
2582
2528
|
group: gameplay
|
|
@@ -2703,30 +2649,6 @@ tasks:
|
|
|
2703
2649
|
description: "Attach a behavior definition (UBehaviorDefinition asset or class) to a slot's BehaviorDefinitions array. Pass instanceProperties to seed UPROPERTYs on a freshly-spawned class-instance. Params: assetPath, slotIndex, behaviorClass (asset path or class path), instanceProperties? (#416)"
|
|
2704
2650
|
options:
|
|
2705
2651
|
method: add_smart_object_slot_behavior
|
|
2706
|
-
gameplay.inspect_pie:
|
|
2707
|
-
class_path: ue-mcp.bridge
|
|
2708
|
-
group: gameplay
|
|
2709
|
-
description: "Inspect PIE runtime. Params: actorLabel?"
|
|
2710
|
-
options:
|
|
2711
|
-
method: inspect_pie
|
|
2712
|
-
gameplay.get_pie_anim_state:
|
|
2713
|
-
class_path: ue-mcp.bridge
|
|
2714
|
-
group: gameplay
|
|
2715
|
-
description: "Get PIE anim instance state. Params: actorLabel"
|
|
2716
|
-
options:
|
|
2717
|
-
method: get_pie_anim_state
|
|
2718
|
-
gameplay.get_pie_anim_properties:
|
|
2719
|
-
class_path: ue-mcp.bridge
|
|
2720
|
-
group: gameplay
|
|
2721
|
-
description: "Read arbitrary UPROPERTY values on a PIE actor's AnimInstance (#139). Params: actorLabel, propertyNames? (omit = dump all)"
|
|
2722
|
-
options:
|
|
2723
|
-
method: get_pie_anim_properties
|
|
2724
|
-
gameplay.get_pie_subsystem_state:
|
|
2725
|
-
class_path: ue-mcp.bridge
|
|
2726
|
-
group: gameplay
|
|
2727
|
-
description: "Read UPROPERTY values on a running subsystem in PIE (#139). Params: subsystemClass, scope? (game|world|engine|localplayer), propertyNames?"
|
|
2728
|
-
options:
|
|
2729
|
-
method: get_pie_subsystem_state
|
|
2730
2652
|
gameplay.create_game_mode:
|
|
2731
2653
|
class_path: ue-mcp.bridge
|
|
2732
2654
|
group: gameplay
|
|
@@ -2775,12 +2697,6 @@ tasks:
|
|
|
2775
2697
|
description: "Read RecastNavMesh generation params (cellSize, agentHeight, maxStepHeight, etc.) (#163)"
|
|
2776
2698
|
options:
|
|
2777
2699
|
method: get_navmesh_details
|
|
2778
|
-
gameplay.apply_damage_in_pie:
|
|
2779
|
-
class_path: ue-mcp.bridge
|
|
2780
|
-
group: gameplay
|
|
2781
|
-
description: "Apply damage to PIE actor. Params: actorLabel, baseDamage?, damageTypeClass? (#186)"
|
|
2782
|
-
options:
|
|
2783
|
-
method: apply_damage_in_pie
|
|
2784
2700
|
|
|
2785
2701
|
# ── gas ──
|
|
2786
2702
|
gas.add_asc:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ue-mcp",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Unreal Engine MCP server - 21 tools,
|
|
3
|
+
"version": "1.0.61",
|
|
4
|
+
"description": "Unreal Engine MCP server - 21 tools, 513+ actions for AI-driven editor control",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -91,8 +91,7 @@ void FGameplayHandlers::RegisterHandlers(FMCPHandlerRegistry& Registry)
|
|
|
91
91
|
Registry.RegisterHandler(TEXT("list_eqs_queries"), &ListEqsQueries);
|
|
92
92
|
Registry.RegisterHandler(TEXT("list_state_trees"), &ListStateTrees);
|
|
93
93
|
Registry.RegisterHandler(TEXT("project_point_to_navigation"), &ProjectPointToNavigation);
|
|
94
|
-
|
|
95
|
-
Registry.RegisterHandler(TEXT("create_input_mapping_context"), &CreateInputMappingContext);
|
|
94
|
+
// create_input_action, create_input_mapping_context moved to pie-transport
|
|
96
95
|
Registry.RegisterHandler(TEXT("create_blackboard"), &CreateBlackboard);
|
|
97
96
|
Registry.RegisterHandler(TEXT("create_behavior_tree"), &CreateBehaviorTree);
|
|
98
97
|
Registry.RegisterHandler(TEXT("create_eqs_query"), &CreateEqsQuery);
|
|
@@ -121,19 +120,9 @@ void FGameplayHandlers::RegisterHandlers(FMCPHandlerRegistry& Registry)
|
|
|
121
120
|
Registry.RegisterHandler(TEXT("remove_smart_object_slot"), &RemoveSmartObjectSlot);
|
|
122
121
|
Registry.RegisterHandler(TEXT("list_smart_object_slots"), &ListSmartObjectSlots);
|
|
123
122
|
Registry.RegisterHandler(TEXT("add_smart_object_slot_behavior"), &AddSmartObjectSlotBehavior);
|
|
124
|
-
|
|
125
|
-
Registry.RegisterHandler(TEXT("list_imc_mappings"), &ReadImc);
|
|
126
|
-
Registry.RegisterHandler(TEXT("add_imc_mapping"), &AddImcMapping);
|
|
127
|
-
Registry.RegisterHandler(TEXT("set_mapping_modifiers"), &SetMappingModifiers);
|
|
128
|
-
Registry.RegisterHandler(TEXT("remove_imc_mapping"), &RemoveImcMapping);
|
|
129
|
-
Registry.RegisterHandler(TEXT("set_imc_mapping_key"), &SetImcMappingKey);
|
|
130
|
-
Registry.RegisterHandler(TEXT("set_imc_mapping_action"), &SetImcMappingAction);
|
|
131
|
-
Registry.RegisterHandler(TEXT("inspect_pie"), &InspectPie);
|
|
132
|
-
Registry.RegisterHandler(TEXT("get_pie_anim_state"), &GetPieAnimState);
|
|
133
|
-
Registry.RegisterHandler(TEXT("get_pie_anim_properties"), &GetPieAnimProperties);
|
|
134
|
-
Registry.RegisterHandler(TEXT("get_pie_subsystem_state"), &GetPieSubsystemState);
|
|
123
|
+
// read_imc through get_pie_subsystem_state moved to pie-transport
|
|
135
124
|
Registry.RegisterHandler(TEXT("get_navmesh_details"), &GetNavmeshDetails);
|
|
136
|
-
|
|
125
|
+
// apply_damage_in_pie moved to pie-transport
|
|
137
126
|
}
|
|
138
127
|
|
|
139
128
|
TSharedPtr<FJsonValue> FGameplayHandlers::CreateSmartObjectDefinition(const TSharedPtr<FJsonObject>& Params)
|
|
@@ -18,8 +18,7 @@ private:
|
|
|
18
18
|
static TSharedPtr<FJsonValue> ListEqsQueries(const TSharedPtr<FJsonObject>& Params);
|
|
19
19
|
static TSharedPtr<FJsonValue> ListStateTrees(const TSharedPtr<FJsonObject>& Params);
|
|
20
20
|
static TSharedPtr<FJsonValue> ProjectPointToNavigation(const TSharedPtr<FJsonObject>& Params);
|
|
21
|
-
|
|
22
|
-
static TSharedPtr<FJsonValue> CreateInputMappingContext(const TSharedPtr<FJsonObject>& Params);
|
|
21
|
+
// CreateInputAction, CreateInputMappingContext moved to pie-transport
|
|
23
22
|
static TSharedPtr<FJsonValue> CreateBlackboard(const TSharedPtr<FJsonObject>& Params);
|
|
24
23
|
static TSharedPtr<FJsonValue> CreateBehaviorTree(const TSharedPtr<FJsonObject>& Params);
|
|
25
24
|
static TSharedPtr<FJsonValue> CreateEqsQuery(const TSharedPtr<FJsonObject>& Params);
|
|
@@ -52,23 +51,7 @@ private:
|
|
|
52
51
|
static TSharedPtr<FJsonValue> ListSmartObjectSlots(const TSharedPtr<FJsonObject>& Params);
|
|
53
52
|
static TSharedPtr<FJsonValue> AddSmartObjectSlotBehavior(const TSharedPtr<FJsonObject>& Params);
|
|
54
53
|
|
|
55
|
-
// IMC read/write
|
|
56
|
-
static TSharedPtr<FJsonValue> ReadImc(const TSharedPtr<FJsonObject>& Params);
|
|
57
|
-
static TSharedPtr<FJsonValue> AddImcMapping(const TSharedPtr<FJsonObject>& Params);
|
|
58
|
-
static TSharedPtr<FJsonValue> SetMappingModifiers(const TSharedPtr<FJsonObject>& Params);
|
|
59
|
-
static TSharedPtr<FJsonValue> RemoveImcMapping(const TSharedPtr<FJsonObject>& Params);
|
|
60
|
-
static TSharedPtr<FJsonValue> SetImcMappingKey(const TSharedPtr<FJsonObject>& Params);
|
|
61
|
-
static TSharedPtr<FJsonValue> SetImcMappingAction(const TSharedPtr<FJsonObject>& Params);
|
|
62
|
-
|
|
63
|
-
// PIE inspection (#54 / #89 / #90)
|
|
64
|
-
static TSharedPtr<FJsonValue> InspectPie(const TSharedPtr<FJsonObject>& Params);
|
|
65
|
-
|
|
66
|
-
// PIE anim state (#26)
|
|
67
|
-
static TSharedPtr<FJsonValue> GetPieAnimState(const TSharedPtr<FJsonObject>& Params);
|
|
68
|
-
|
|
69
|
-
// PIE inspection (#139) — arbitrary UPROPERTY reads on AnimInstance + subsystems
|
|
70
|
-
static TSharedPtr<FJsonValue> GetPieAnimProperties(const TSharedPtr<FJsonObject>& Params);
|
|
71
|
-
static TSharedPtr<FJsonValue> GetPieSubsystemState(const TSharedPtr<FJsonObject>& Params);
|
|
54
|
+
// IMC read/write, PIE inspection, anim state, subsystem state — moved to pie-transport
|
|
72
55
|
|
|
73
56
|
// Helper to create a blueprint with a given parent class
|
|
74
57
|
static TSharedPtr<FJsonValue> CreateBlueprintWithParent(const FString& Name, const FString& PackagePath, const FString& ParentClassPath, const FString& FriendlyTypeName);
|
|
@@ -79,7 +62,6 @@ private:
|
|
|
79
62
|
// #163 — detailed navmesh configuration
|
|
80
63
|
static TSharedPtr<FJsonValue> GetNavmeshDetails(const TSharedPtr<FJsonObject>& Params);
|
|
81
64
|
|
|
82
|
-
//
|
|
83
|
-
static TSharedPtr<FJsonValue> ApplyDamageInPie(const TSharedPtr<FJsonObject>& Params);
|
|
65
|
+
// ApplyDamageInPie moved to pie-transport
|
|
84
66
|
|
|
85
67
|
};
|