Skip to content

Complete Phase 1: Critical Control Plane (protocol v1.2.0) - #22

Open
ayushozha wants to merge 3 commits into
flopperam:mainfrom
ayushozha:feat/mcp-editor-restart-and-repo-roadmap
Open

Complete Phase 1: Critical Control Plane (protocol v1.2.0)#22
ayushozha wants to merge 3 commits into
flopperam:mainfrom
ayushozha:feat/mcp-editor-restart-and-repo-roadmap

Conversation

@ayushozha

Copy link
Copy Markdown

Summary

This PR completes Phase 1 (Critical Control Plane) of the full-control plan, adding 24 new C++ commands and 29 new Python MCP tools. The protocol version is bumped to 1.2.0.

What's included

  • Editor lifecycle control (Item 1): get_editor_state, get_engine_version, save_all, play_in_editor_start/stop, simulate_start/stop, pause_game, request_exit_editor, restart_editor
  • World/level management (Item 2): list_levels, open_level, save_level, create_level, duplicate_level, delete_level, set_current_world, add/remove/toggle_sublevel
  • Selection & viewport (Item 4): get_selected_actors, select_actors, focus_viewport_on_selection, set_viewport_camera, capture_viewport_screenshot, get_viewport_stats
  • Reflection APIs merged (Item 5): get_object_properties, set_object_properties, call_uobject_function, build_navmesh — merged from standalone plugin into the authoritative FlopperamUnrealMCP copy
  • Protocol upgrades (Item 30): list_tools_dynamic, get_tool_json_schema, ping, protocol version negotiation bumped to 1.2.0 with expanded feature list
  • Reliability (Item 33): Dead-letter queue infrastructure with get_dead_letters/clear_dead_letters, heartbeat via ping

Plugin sync

The two plugin copies had diverged — standalone UnrealMCP/ had reflection APIs while FlopperamUnrealMCP/Plugins/UnrealMCP/ had transactions/error codes. This PR merges both into FlopperamUnrealMCP/ as the authoritative source and syncs back to the standalone copy.

Files changed

  • C++: EpicUnrealMCPEditorCommands.h/.cpp (28 new handler methods), EpicUnrealMCPBridge.cpp (routing for all new commands)
  • Python: unreal_mcp_server_advanced.py (29 new @mcp.tool() functions, dead-letter queue, protocol bump)
  • Docs: plan.md (Phase 1 marked complete), docs/repository-map.md (updated tool inventory)

Test plan

  • Python syntax verification passes
  • Header/implementation count match: 37 declarations = 37 implementations
  • Plugin sync verified: FlopperamUnrealMCP and UnrealMCP source files are identical
  • Connection test: ping tool returns pong
  • Editor lifecycle: get_editor_state returns mode/project/map info
  • PIE cycle: start -> pause -> stop
  • Level management: list -> create -> open -> save -> delete
  • Viewport: select actors -> focus -> capture screenshot
  • Protocol: list_tools_dynamic returns full tool list; get_tool_json_schema returns schemas

Ayush Ojha added 3 commits March 2, 2026 00:23
Add 24 new C++ commands and 29 new Python MCP tools covering:
- Editor lifecycle: get_editor_state, get_engine_version, save_all, PIE start/stop, simulate start/stop, pause_game
- Level management: list/open/save/create/duplicate/delete levels, sublevel add/remove/toggle visibility
- Selection & viewport: get/select actors, focus viewport, set camera, capture screenshot, get viewport stats
- Reflection APIs: get/set object properties, call_uobject_function, build_navmesh (merged from standalone)
- Protocol: list_tools_dynamic, get_tool_json_schema, ping, protocol version negotiation bumped to 1.2.0
- Reliability: dead-letter queue infrastructure with get/clear tools

Merge diverged plugin copies (FlopperamUnrealMCP authoritative, synced to UnrealMCP standalone).
Update plan.md and docs/repository-map.md with Phase 1 completion status.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant