unreal-engine-mcp-server 0.5.4 → 0.5.6
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/CHANGELOG.md +350 -0
- package/dist/automation/bridge.d.ts.map +1 -0
- package/dist/automation/bridge.js +5 -4
- package/dist/automation/bridge.js.map +1 -0
- package/dist/automation/connection-manager.d.ts.map +1 -0
- package/dist/automation/connection-manager.js.map +1 -0
- package/dist/automation/handshake.d.ts.map +1 -0
- package/dist/automation/handshake.js.map +1 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/message-handler.d.ts.map +1 -0
- package/dist/automation/message-handler.js.map +1 -0
- package/dist/automation/request-tracker.d.ts.map +1 -0
- package/dist/automation/request-tracker.js.map +1 -0
- package/dist/automation/types.d.ts +7 -0
- package/dist/automation/types.d.ts.map +1 -0
- package/dist/automation/types.js.map +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +6 -4
- package/dist/cli.js.map +1 -0
- package/dist/config/class-aliases.d.ts.map +1 -0
- package/dist/config/class-aliases.js.map +1 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js.map +1 -0
- package/dist/graphql/loaders.d.ts.map +1 -0
- package/dist/graphql/loaders.js.map +1 -0
- package/dist/graphql/resolvers.d.ts +174 -69
- package/dist/graphql/resolvers.d.ts.map +1 -0
- package/dist/graphql/resolvers.js +82 -67
- package/dist/graphql/resolvers.js.map +1 -0
- package/dist/graphql/schema.d.ts.map +1 -0
- package/dist/graphql/schema.js.map +1 -0
- package/dist/graphql/server.d.ts.map +1 -0
- package/dist/graphql/server.js.map +1 -0
- package/dist/graphql/types.d.ts.map +1 -0
- package/dist/graphql/types.js.map +1 -0
- package/dist/handlers/resource-handlers.d.ts.map +1 -0
- package/dist/handlers/resource-handlers.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +70 -9
- package/dist/index.js.map +1 -0
- package/dist/resources/actors.d.ts +7 -4
- package/dist/resources/actors.d.ts.map +1 -0
- package/dist/resources/actors.js +15 -12
- package/dist/resources/actors.js.map +1 -0
- package/dist/resources/assets.d.ts +43 -2
- package/dist/resources/assets.d.ts.map +1 -0
- package/dist/resources/assets.js +21 -12
- package/dist/resources/assets.js.map +1 -0
- package/dist/resources/levels.d.ts.map +1 -0
- package/dist/resources/levels.js +7 -5
- package/dist/resources/levels.js.map +1 -0
- package/dist/schemas/index.d.ts +4 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +4 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/parser.d.ts +20 -0
- package/dist/schemas/parser.d.ts.map +1 -0
- package/dist/schemas/parser.js +61 -0
- package/dist/schemas/parser.js.map +1 -0
- package/dist/schemas/primitives.d.ts +221 -0
- package/dist/schemas/primitives.d.ts.map +1 -0
- package/dist/schemas/primitives.js +115 -0
- package/dist/schemas/primitives.js.map +1 -0
- package/dist/schemas/responses.d.ts +362 -0
- package/dist/schemas/responses.d.ts.map +1 -0
- package/dist/schemas/responses.js +252 -0
- package/dist/schemas/responses.js.map +1 -0
- package/dist/server/resource-registry.d.ts.map +1 -0
- package/dist/server/resource-registry.js.map +1 -0
- package/dist/server/tool-registry.d.ts.map +1 -0
- package/dist/server/tool-registry.js +22 -17
- package/dist/server/tool-registry.js.map +1 -0
- package/dist/server-setup.d.ts.map +1 -0
- package/dist/server-setup.js.map +1 -0
- package/dist/services/health-monitor.d.ts +1 -1
- package/dist/services/health-monitor.d.ts.map +1 -0
- package/dist/services/health-monitor.js +4 -3
- package/dist/services/health-monitor.js.map +1 -0
- package/dist/services/metrics-server.d.ts.map +1 -0
- package/dist/services/metrics-server.js.map +1 -0
- package/dist/tools/actors.d.ts +27 -27
- package/dist/tools/actors.d.ts.map +1 -0
- package/dist/tools/actors.js +14 -10
- package/dist/tools/actors.js.map +1 -0
- package/dist/tools/animation.d.ts +15 -23
- package/dist/tools/animation.d.ts.map +1 -0
- package/dist/tools/animation.js +17 -13
- package/dist/tools/animation.js.map +1 -0
- package/dist/tools/assets.d.ts.map +1 -0
- package/dist/tools/assets.js +18 -12
- package/dist/tools/assets.js.map +1 -0
- package/dist/tools/audio.d.ts +10 -10
- package/dist/tools/audio.d.ts.map +1 -0
- package/dist/tools/audio.js.map +1 -0
- package/dist/tools/base-tool.d.ts.map +1 -0
- package/dist/tools/base-tool.js.map +1 -0
- package/dist/tools/behavior-tree.d.ts +24 -24
- package/dist/tools/behavior-tree.d.ts.map +1 -0
- package/dist/tools/behavior-tree.js.map +1 -0
- package/dist/tools/blueprint.d.ts +14 -3
- package/dist/tools/blueprint.d.ts.map +1 -0
- package/dist/tools/blueprint.js +5 -3
- package/dist/tools/blueprint.js.map +1 -0
- package/dist/tools/consolidated-tool-definitions.d.ts +32 -32
- package/dist/tools/consolidated-tool-definitions.d.ts.map +1 -0
- package/dist/tools/consolidated-tool-definitions.js.map +1 -0
- package/dist/tools/consolidated-tool-handlers.d.ts +1 -1
- package/dist/tools/consolidated-tool-handlers.d.ts.map +1 -0
- package/dist/tools/consolidated-tool-handlers.js +26 -21
- package/dist/tools/consolidated-tool-handlers.js.map +1 -0
- package/dist/tools/debug.d.ts +25 -7
- package/dist/tools/debug.d.ts.map +1 -0
- package/dist/tools/debug.js +3 -1
- package/dist/tools/debug.js.map +1 -0
- package/dist/tools/dynamic-handler-registry.d.ts +1 -1
- package/dist/tools/dynamic-handler-registry.d.ts.map +1 -0
- package/dist/tools/dynamic-handler-registry.js +3 -1
- package/dist/tools/dynamic-handler-registry.js.map +1 -0
- package/dist/tools/editor.d.ts.map +1 -0
- package/dist/tools/editor.js +8 -6
- package/dist/tools/editor.js.map +1 -0
- package/dist/tools/engine.d.ts +1 -1
- package/dist/tools/engine.d.ts.map +1 -0
- package/dist/tools/engine.js +4 -2
- package/dist/tools/engine.js.map +1 -0
- package/dist/tools/environment.d.ts.map +1 -0
- package/dist/tools/environment.js +4 -3
- package/dist/tools/environment.js.map +1 -0
- package/dist/tools/foliage.d.ts.map +1 -0
- package/dist/tools/foliage.js +8 -8
- package/dist/tools/foliage.js.map +1 -0
- package/dist/tools/handlers/actor-handlers.d.ts +2 -1
- package/dist/tools/handlers/actor-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/actor-handlers.js +56 -33
- package/dist/tools/handlers/actor-handlers.js.map +1 -0
- package/dist/tools/handlers/animation-handlers.d.ts +2 -1
- package/dist/tools/handlers/animation-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/animation-handlers.js +74 -67
- package/dist/tools/handlers/animation-handlers.js.map +1 -0
- package/dist/tools/handlers/argument-helper.d.ts +24 -4
- package/dist/tools/handlers/argument-helper.d.ts.map +1 -0
- package/dist/tools/handlers/argument-helper.js +139 -4
- package/dist/tools/handlers/argument-helper.js.map +1 -0
- package/dist/tools/handlers/asset-handlers.d.ts +2 -1
- package/dist/tools/handlers/asset-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/asset-handlers.js +155 -94
- package/dist/tools/handlers/asset-handlers.js.map +1 -0
- package/dist/tools/handlers/audio-handlers.d.ts +2 -1
- package/dist/tools/handlers/audio-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/audio-handlers.js +82 -80
- package/dist/tools/handlers/audio-handlers.js.map +1 -0
- package/dist/tools/handlers/blueprint-handlers.d.ts +3 -5
- package/dist/tools/handlers/blueprint-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/blueprint-handlers.js +150 -142
- package/dist/tools/handlers/blueprint-handlers.js.map +1 -0
- package/dist/tools/handlers/common-handlers.d.ts +2 -3
- package/dist/tools/handlers/common-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/common-handlers.js.map +1 -0
- package/dist/tools/handlers/editor-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/editor-handlers.js +12 -2
- package/dist/tools/handlers/editor-handlers.js.map +1 -0
- package/dist/tools/handlers/effect-handlers.d.ts +2 -1
- package/dist/tools/handlers/effect-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/effect-handlers.js +70 -68
- package/dist/tools/handlers/effect-handlers.js.map +1 -0
- package/dist/tools/handlers/environment-handlers.d.ts +2 -1
- package/dist/tools/handlers/environment-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/environment-handlers.js +86 -74
- package/dist/tools/handlers/environment-handlers.js.map +1 -0
- package/dist/tools/handlers/graph-handlers.d.ts +1 -1
- package/dist/tools/handlers/graph-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/graph-handlers.js +63 -2
- package/dist/tools/handlers/graph-handlers.js.map +1 -0
- package/dist/tools/handlers/input-handlers.d.ts +2 -5
- package/dist/tools/handlers/input-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/input-handlers.js +5 -4
- package/dist/tools/handlers/input-handlers.js.map +1 -0
- package/dist/tools/handlers/inspect-handlers.d.ts +2 -1
- package/dist/tools/handlers/inspect-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/inspect-handlers.js +61 -37
- package/dist/tools/handlers/inspect-handlers.js.map +1 -0
- package/dist/tools/handlers/level-handlers.d.ts +2 -2
- package/dist/tools/handlers/level-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/level-handlers.js +43 -39
- package/dist/tools/handlers/level-handlers.js.map +1 -0
- package/dist/tools/handlers/lighting-handlers.d.ts +12 -1
- package/dist/tools/handlers/lighting-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/lighting-handlers.js +90 -47
- package/dist/tools/handlers/lighting-handlers.js.map +1 -0
- package/dist/tools/handlers/performance-handlers.d.ts +2 -1
- package/dist/tools/handlers/performance-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/performance-handlers.js +55 -40
- package/dist/tools/handlers/performance-handlers.js.map +1 -0
- package/dist/tools/handlers/pipeline-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/pipeline-handlers.js.map +1 -0
- package/dist/tools/handlers/sequence-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/sequence-handlers.js.map +1 -0
- package/dist/tools/handlers/system-handlers.d.ts +3 -2
- package/dist/tools/handlers/system-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/system-handlers.js +105 -52
- package/dist/tools/handlers/system-handlers.js.map +1 -0
- package/dist/tools/input.d.ts.map +1 -0
- package/dist/tools/input.js +3 -1
- package/dist/tools/input.js.map +1 -0
- package/dist/tools/introspection.d.ts +14 -14
- package/dist/tools/introspection.d.ts.map +1 -0
- package/dist/tools/introspection.js +54 -45
- package/dist/tools/introspection.js.map +1 -0
- package/dist/tools/landscape.d.ts.map +1 -0
- package/dist/tools/landscape.js +15 -13
- package/dist/tools/landscape.js.map +1 -0
- package/dist/tools/level.d.ts.map +1 -0
- package/dist/tools/level.js +3 -2
- package/dist/tools/level.js.map +1 -0
- package/dist/tools/lighting.d.ts +32 -59
- package/dist/tools/lighting.d.ts.map +1 -0
- package/dist/tools/lighting.js +56 -19
- package/dist/tools/lighting.js.map +1 -0
- package/dist/tools/logs.d.ts.map +1 -0
- package/dist/tools/logs.js +2 -1
- package/dist/tools/logs.js.map +1 -0
- package/dist/tools/materials.d.ts +42 -14
- package/dist/tools/materials.d.ts.map +1 -0
- package/dist/tools/materials.js +15 -9
- package/dist/tools/materials.js.map +1 -0
- package/dist/tools/niagara.d.ts +63 -39
- package/dist/tools/niagara.d.ts.map +1 -0
- package/dist/tools/niagara.js +43 -33
- package/dist/tools/niagara.js.map +1 -0
- package/dist/tools/performance.d.ts +12 -11
- package/dist/tools/performance.d.ts.map +1 -0
- package/dist/tools/performance.js +3 -2
- package/dist/tools/performance.js.map +1 -0
- package/dist/tools/physics.d.ts +37 -20
- package/dist/tools/physics.d.ts.map +1 -0
- package/dist/tools/physics.js +37 -30
- package/dist/tools/physics.js.map +1 -0
- package/dist/tools/property-dictionary.d.ts.map +1 -0
- package/dist/tools/property-dictionary.js.map +1 -0
- package/dist/tools/sequence.d.ts +1 -1
- package/dist/tools/sequence.d.ts.map +1 -0
- package/dist/tools/sequence.js +8 -4
- package/dist/tools/sequence.js.map +1 -0
- package/dist/tools/tool-definition-utils.d.ts.map +1 -0
- package/dist/tools/tool-definition-utils.js.map +1 -0
- package/dist/tools/ui.d.ts +11 -11
- package/dist/tools/ui.d.ts.map +1 -0
- package/dist/tools/ui.js +7 -3
- package/dist/tools/ui.js.map +1 -0
- package/dist/types/automation-responses.d.ts.map +1 -0
- package/dist/types/automation-responses.js.map +1 -0
- package/dist/types/env.d.ts.map +1 -0
- package/dist/types/env.js.map +1 -0
- package/dist/types/handler-types.d.ts +112 -3
- package/dist/types/handler-types.d.ts.map +1 -0
- package/dist/types/handler-types.js.map +1 -0
- package/dist/types/tool-interfaces.d.ts +39 -21
- package/dist/types/tool-interfaces.d.ts.map +1 -0
- package/dist/types/tool-interfaces.js.map +1 -0
- package/dist/types/tool-types.d.ts +8 -8
- package/dist/types/tool-types.d.ts.map +1 -0
- package/dist/types/tool-types.js.map +1 -0
- package/dist/unreal-bridge.d.ts +8 -6
- package/dist/unreal-bridge.d.ts.map +1 -0
- package/dist/unreal-bridge.js +16 -3
- package/dist/unreal-bridge.js.map +1 -0
- package/dist/utils/command-validator.d.ts.map +1 -0
- package/dist/utils/command-validator.js.map +1 -0
- package/dist/utils/elicitation.d.ts +2 -5
- package/dist/utils/elicitation.d.ts.map +1 -0
- package/dist/utils/elicitation.js +3 -2
- package/dist/utils/elicitation.js.map +1 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/ini-reader.d.ts +1 -1
- package/dist/utils/ini-reader.d.ts.map +1 -0
- package/dist/utils/ini-reader.js.map +1 -0
- package/dist/utils/logger.d.ts +4 -4
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/normalize.d.ts +2 -2
- package/dist/utils/normalize.d.ts.map +1 -0
- package/dist/utils/normalize.js +4 -3
- package/dist/utils/normalize.js.map +1 -0
- package/dist/utils/path-security.d.ts.map +1 -0
- package/dist/utils/path-security.js.map +1 -0
- package/dist/utils/response-factory.d.ts +2 -2
- package/dist/utils/response-factory.d.ts.map +1 -0
- package/dist/utils/response-factory.js +3 -1
- package/dist/utils/response-factory.js.map +1 -0
- package/dist/utils/response-validator.d.ts +4 -4
- package/dist/utils/response-validator.d.ts.map +1 -0
- package/dist/utils/response-validator.js +31 -23
- package/dist/utils/response-validator.js.map +1 -0
- package/dist/utils/result-helpers.d.ts.map +1 -0
- package/dist/utils/result-helpers.js.map +1 -0
- package/dist/utils/safe-json.d.ts.map +1 -0
- package/dist/utils/safe-json.js.map +1 -0
- package/dist/utils/unreal-command-queue.d.ts +2 -2
- package/dist/utils/unreal-command-queue.d.ts.map +1 -0
- package/dist/utils/unreal-command-queue.js +4 -3
- package/dist/utils/unreal-command-queue.js.map +1 -0
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wasm/index.d.ts +2 -2
- package/dist/wasm/index.d.ts.map +1 -0
- package/dist/wasm/index.js +11 -7
- package/dist/wasm/index.js.map +1 -0
- package/package.json +12 -34
- package/server.json +2 -2
- package/.dockerignore +0 -57
- package/.env.example +0 -26
- package/.env.production +0 -61
- package/.eslintrc.json +0 -0
- package/.eslintrc.override.json +0 -8
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -94
- package/.github/ISSUE_TEMPLATE/config.yml +0 -8
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -56
- package/.github/copilot-instructions.md +0 -478
- package/.github/dependabot.yml +0 -19
- package/.github/labeler.yml +0 -24
- package/.github/labels.yml +0 -70
- package/.github/pull_request_template.md +0 -42
- package/.github/release-drafter-config.yml +0 -51
- package/.github/workflows/auto-merge.yml +0 -38
- package/.github/workflows/ci.yml +0 -38
- package/.github/workflows/dependency-review.yml +0 -17
- package/.github/workflows/gemini-issue-triage.yml +0 -172
- package/.github/workflows/greetings.yml +0 -27
- package/.github/workflows/labeler.yml +0 -17
- package/.github/workflows/links.yml +0 -80
- package/.github/workflows/pr-size-labeler.yml +0 -137
- package/.github/workflows/publish-mcp.yml +0 -79
- package/.github/workflows/release-drafter.yml +0 -24
- package/.github/workflows/release.yml +0 -112
- package/.github/workflows/semantic-pull-request.yml +0 -35
- package/.github/workflows/smoke-test.yml +0 -36
- package/.github/workflows/stale.yml +0 -28
- package/CONTRIBUTING.md +0 -140
- package/Dockerfile +0 -37
- package/GEMINI.md +0 -115
- package/Public/Plugin_setup_guide.mp4 +0 -0
- package/Public/icon.png +0 -0
- package/claude_desktop_config_example.json +0 -15
- package/dist/types/responses.d.ts +0 -249
- package/dist/types/responses.js +0 -2
- package/docs/GraphQL-API.md +0 -888
- package/docs/Migration-Guide-v0.5.0.md +0 -684
- package/docs/Roadmap.md +0 -53
- package/docs/WebAssembly-Integration.md +0 -628
- package/docs/editor-plugin-extension.md +0 -370
- package/docs/handler-mapping.md +0 -249
- package/docs/native-automation-progress.md +0 -128
- package/docs/testing-guide.md +0 -423
- package/eslint.config.mjs +0 -68
- package/mcp-config-example.json +0 -14
- package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +0 -8
- package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +0 -64
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +0 -189
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +0 -22
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +0 -30
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +0 -1983
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +0 -72
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +0 -46
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +0 -846
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +0 -2393
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +0 -300
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +0 -2807
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +0 -1087
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +0 -488
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +0 -643
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +0 -31
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +0 -1094
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +0 -5750
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +0 -152
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +0 -2614
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +0 -42
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +0 -1237
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +0 -1725
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +0 -2265
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +0 -954
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +0 -209
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +0 -41
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +0 -1164
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +0 -762
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +0 -663
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +0 -136
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +0 -494
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +0 -278
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +0 -625
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +0 -401
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +0 -67
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +0 -472
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +0 -2634
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +0 -189
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +0 -917
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +0 -39
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +0 -2706
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +0 -519
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +0 -38
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +0 -668
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +0 -346
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +0 -1345
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +0 -149
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +0 -782
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +0 -115
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +0 -796
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +0 -117
- package/scripts/check-unreal-connection.mjs +0 -19
- package/scripts/clean-tmp.js +0 -23
- package/scripts/patch-wasm.js +0 -26
- package/scripts/run-all-tests.mjs +0 -136
- package/scripts/smoke-test.ts +0 -94
- package/scripts/sync-mcp-plugin.js +0 -143
- package/scripts/test-no-plugin-alternates.mjs +0 -113
- package/scripts/validate-server.js +0 -46
- package/scripts/verify-automation-bridge.js +0 -200
- package/src/automation/bridge.ts +0 -630
- package/src/automation/connection-manager.ts +0 -148
- package/src/automation/handshake.ts +0 -99
- package/src/automation/index.ts +0 -2
- package/src/automation/message-handler.ts +0 -192
- package/src/automation/request-tracker.ts +0 -155
- package/src/automation/types.ts +0 -108
- package/src/cli.ts +0 -34
- package/src/config/class-aliases.ts +0 -65
- package/src/config.ts +0 -73
- package/src/constants.ts +0 -29
- package/src/graphql/loaders.ts +0 -244
- package/src/graphql/resolvers.ts +0 -1008
- package/src/graphql/schema.ts +0 -452
- package/src/graphql/server.ts +0 -156
- package/src/graphql/types.ts +0 -10
- package/src/handlers/resource-handlers.ts +0 -186
- package/src/index.ts +0 -243
- package/src/resources/actors.ts +0 -127
- package/src/resources/assets.ts +0 -286
- package/src/resources/levels.ts +0 -68
- package/src/server/resource-registry.ts +0 -47
- package/src/server/tool-registry.ts +0 -354
- package/src/server-setup.ts +0 -114
- package/src/services/health-monitor.ts +0 -132
- package/src/services/metrics-server.ts +0 -176
- package/src/tools/actors.ts +0 -564
- package/src/tools/animation.ts +0 -941
- package/src/tools/assets.ts +0 -394
- package/src/tools/audio.ts +0 -499
- package/src/tools/base-tool.ts +0 -52
- package/src/tools/behavior-tree.ts +0 -45
- package/src/tools/blueprint.ts +0 -940
- package/src/tools/consolidated-tool-definitions.ts +0 -1256
- package/src/tools/consolidated-tool-handlers.ts +0 -302
- package/src/tools/debug.ts +0 -622
- package/src/tools/dynamic-handler-registry.ts +0 -33
- package/src/tools/editor.ts +0 -435
- package/src/tools/engine.ts +0 -43
- package/src/tools/environment.ts +0 -281
- package/src/tools/foliage.ts +0 -596
- package/src/tools/handlers/actor-handlers.ts +0 -244
- package/src/tools/handlers/animation-handlers.ts +0 -237
- package/src/tools/handlers/argument-helper.ts +0 -142
- package/src/tools/handlers/asset-handlers.ts +0 -550
- package/src/tools/handlers/audio-handlers.ts +0 -194
- package/src/tools/handlers/blueprint-handlers.ts +0 -380
- package/src/tools/handlers/common-handlers.ts +0 -108
- package/src/tools/handlers/editor-handlers.ts +0 -124
- package/src/tools/handlers/effect-handlers.ts +0 -224
- package/src/tools/handlers/environment-handlers.ts +0 -183
- package/src/tools/handlers/graph-handlers.ts +0 -117
- package/src/tools/handlers/input-handlers.ts +0 -28
- package/src/tools/handlers/inspect-handlers.ts +0 -450
- package/src/tools/handlers/level-handlers.ts +0 -253
- package/src/tools/handlers/lighting-handlers.ts +0 -151
- package/src/tools/handlers/performance-handlers.ts +0 -132
- package/src/tools/handlers/pipeline-handlers.ts +0 -194
- package/src/tools/handlers/sequence-handlers.ts +0 -438
- package/src/tools/handlers/system-handlers.ts +0 -564
- package/src/tools/input.ts +0 -160
- package/src/tools/introspection.ts +0 -689
- package/src/tools/landscape.ts +0 -649
- package/src/tools/level.ts +0 -989
- package/src/tools/lighting.ts +0 -1052
- package/src/tools/logs.ts +0 -219
- package/src/tools/materials.ts +0 -295
- package/src/tools/niagara.ts +0 -485
- package/src/tools/performance.ts +0 -661
- package/src/tools/physics.ts +0 -679
- package/src/tools/property-dictionary.ts +0 -98
- package/src/tools/sequence.ts +0 -385
- package/src/tools/tool-definition-utils.ts +0 -35
- package/src/tools/ui.ts +0 -452
- package/src/types/automation-responses.ts +0 -119
- package/src/types/env.ts +0 -17
- package/src/types/handler-types.ts +0 -442
- package/src/types/responses.ts +0 -355
- package/src/types/tool-interfaces.ts +0 -250
- package/src/types/tool-types.ts +0 -575
- package/src/unreal-bridge.ts +0 -693
- package/src/utils/command-validator.ts +0 -139
- package/src/utils/elicitation.ts +0 -132
- package/src/utils/error-handler.ts +0 -287
- package/src/utils/ini-reader.ts +0 -86
- package/src/utils/logger.ts +0 -35
- package/src/utils/normalize.test.ts +0 -162
- package/src/utils/normalize.ts +0 -146
- package/src/utils/path-security.ts +0 -43
- package/src/utils/response-factory.ts +0 -44
- package/src/utils/response-validator.ts +0 -395
- package/src/utils/result-helpers.ts +0 -195
- package/src/utils/safe-json.test.ts +0 -90
- package/src/utils/safe-json.ts +0 -70
- package/src/utils/unreal-command-queue.ts +0 -166
- package/src/utils/validation.test.ts +0 -184
- package/src/utils/validation.ts +0 -312
- package/src/wasm/index.ts +0 -838
- package/test-server.mjs +0 -100
- package/tests/test-animation.mjs +0 -369
- package/tests/test-asset-advanced.mjs +0 -82
- package/tests/test-asset-graph.mjs +0 -311
- package/tests/test-audio.mjs +0 -417
- package/tests/test-automation-timeouts.mjs +0 -98
- package/tests/test-behavior-tree.mjs +0 -444
- package/tests/test-blueprint-graph.mjs +0 -410
- package/tests/test-blueprint.mjs +0 -577
- package/tests/test-client-mode.mjs +0 -86
- package/tests/test-console-command.mjs +0 -56
- package/tests/test-control-actor.mjs +0 -425
- package/tests/test-control-editor.mjs +0 -112
- package/tests/test-graphql.mjs +0 -372
- package/tests/test-input.mjs +0 -349
- package/tests/test-inspect.mjs +0 -302
- package/tests/test-landscape.mjs +0 -316
- package/tests/test-lighting.mjs +0 -428
- package/tests/test-manage-asset.mjs +0 -438
- package/tests/test-manage-level.mjs +0 -89
- package/tests/test-materials.mjs +0 -356
- package/tests/test-niagara.mjs +0 -185
- package/tests/test-no-inline-python.mjs +0 -122
- package/tests/test-performance.mjs +0 -539
- package/tests/test-plugin-handshake.mjs +0 -82
- package/tests/test-runner.mjs +0 -993
- package/tests/test-sequence.mjs +0 -104
- package/tests/test-system.mjs +0 -96
- package/tests/test-wasm.mjs +0 -283
- package/tests/test-world-partition.mjs +0 -215
- package/tsconfig.json +0 -56
- package/vitest.config.ts +0 -35
- package/wasm/Cargo.lock +0 -363
- package/wasm/Cargo.toml +0 -42
- package/wasm/LICENSE +0 -21
- package/wasm/README.md +0 -253
- package/wasm/src/dependency_resolver.rs +0 -377
- package/wasm/src/lib.rs +0 -153
- package/wasm/src/property_parser.rs +0 -271
- package/wasm/src/transform_math.rs +0 -396
- package/wasm/tests/integration.rs +0 -109
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
# MCP Automation Bridge Plugin
|
|
2
|
-
|
|
3
|
-
The MCP Automation Bridge is a production-ready Unreal Editor plugin that enables direct communication between the MCP server and Unreal Engine, providing **100% native C++ implementations** for all automation tasks. This document describes the current implementation and future roadmap.
|
|
4
|
-
|
|
5
|
-
## Goals
|
|
6
|
-
- **Direct SCS Access** – expose Blueprint SimpleConstructionScript mutations through a curated C++ API that the MCP server can call.
|
|
7
|
-
- **Typed Property Marshaling** – relay incoming JSON payloads through Unreal's `FProperty` system so class/enum/soft object references resolve without manual string coercion.
|
|
8
|
-
- **Asset Lifecycle Helpers** – wrap save/move/delete flows with redirector fix-up, source control hooks, and safety prompts suppressed via automation policies.
|
|
9
|
-
- **Modal Dialog Mediation** – surface blocking dialogs to the MCP server with explicit continue/cancel channels instead of stalling automation.
|
|
10
|
-
- **Native-Only Architecture** – all operations implemented in C++ without Python dependencies for maximum reliability and performance.
|
|
11
|
-
|
|
12
|
-
## Architecture Sketch
|
|
13
|
-
- Editor plugin registers a `UMcpAutomationBridge` subsystem.
|
|
14
|
-
- Subsystem subscribes to a local WebSocket or named pipe opened by the Node MCP server when it needs elevated actions.
|
|
15
|
-
- Each elevated command includes a capability token so the plugin can enforce an allow-list (exposed through project settings) and fail gracefully if disabled.
|
|
16
|
-
- Results are serialized back to the MCP server with structured warnings so the client can still prompt the user when manual intervention is required.
|
|
17
|
-
|
|
18
|
-
## Plugin Architecture (Current: v0.6.0)
|
|
19
|
-
|
|
20
|
-
### Core Components
|
|
21
|
-
- **Plugin Location**: `plugins/McpAutomationBridge/` (source) and `Public/McpAutomationBridge/` (distribution)
|
|
22
|
-
- **Module Type**: Editor-only subsystem (`UEditorSubsystem`)
|
|
23
|
-
- **Main Class**: `UMcpAutomationBridgeSubsystem` - manages WebSocket connections, request routing, and automation execution
|
|
24
|
-
- **WebSocket Implementation**: `FMcpBridgeWebSocket` - custom lightweight WebSocket client (no external dependencies)
|
|
25
|
-
- **Settings**: `UMcpAutomationBridgeSettings` - configurable via **Project Settings ▸ Plugins ▸ MCP Automation Bridge**
|
|
26
|
-
|
|
27
|
-
### Connection Management
|
|
28
|
-
- **WebSocket Server Mode**: Plugin connects TO the MCP server's WebSocket listener (default: `ws://127.0.0.1:8091`)
|
|
29
|
-
- **Handshake Protocol**: `bridge_hello` → capability token validation → `bridge_ack`
|
|
30
|
-
- **Reconnection**: Automatic with exponential backoff (configurable delay, 5s default)
|
|
31
|
-
- **Heartbeat**: Optional heartbeat tracking for connection health monitoring
|
|
32
|
-
- **Capability Token**: Optional security layer for authentication
|
|
33
|
-
- **Multi-Port Support**: Can connect to multiple server ports simultaneously
|
|
34
|
-
|
|
35
|
-
### Request Processing
|
|
36
|
-
- **Thread-Safe Queue**: Incoming requests queued and processed sequentially on game thread
|
|
37
|
-
- **Telemetry**: Tracks success/failure rates, execution times, and action statistics
|
|
38
|
-
- **Error Handling**: Structured error responses with error codes and retry flags
|
|
39
|
-
- **Timeout Management**: Configurable timeouts for long-running operations
|
|
40
|
-
|
|
41
|
-
## Server Integration (0.1.0)
|
|
42
|
-
- `src/automation-bridge.ts` spins up a lightweight WebSocket server (default `ws://127.0.0.1:8091`) guarded by an optional capability token.
|
|
43
|
-
- Handshake flow: editor sends `bridge_hello` → server validates capability token → server responds with `bridge_ack` and caches the socket for future elevated commands.
|
|
44
|
-
- Environment flags: `MCP_AUTOMATION_HOST`, `MCP_AUTOMATION_PORT`, `MCP_AUTOMATION_CAPABILITY_TOKEN`, and `MCP_AUTOMATION_CLIENT_MODE` allow operators to relocate or disable the listener without code changes.
|
|
45
|
-
- Health endpoint (`ue://health`) now surfaces bridge connectivity status so MCP clients can confirm when the plugin is online.
|
|
46
|
-
|
|
47
|
-
## Implemented Actions (Current)
|
|
48
|
-
|
|
49
|
-
### 1. Asset Operations (`HandleAssetAction`)
|
|
50
|
-
✅ **Fully Implemented** - Native C++ using UE Asset Tools
|
|
51
|
-
- `import_asset_deferred` - Native `UAssetImportTask` with FBX/texture support
|
|
52
|
-
- `create_material` - `UMaterialFactoryNew` for material creation
|
|
53
|
-
- `create_material_instance` - Material instance creation with parameter overrides
|
|
54
|
-
- `duplicate_asset` - Asset duplication with overwrite control
|
|
55
|
-
- `rename_asset` - Asset renaming with conflict detection
|
|
56
|
-
- `move_asset` - Asset moving with optional redirector fixup
|
|
57
|
-
- `delete_assets` - Bulk asset deletion with dependency handling
|
|
58
|
-
- `list` - Asset Registry directory listing with filtering
|
|
59
|
-
- `create_folder` - Content folder creation
|
|
60
|
-
- `get_dependencies` - Asset dependency graph traversal
|
|
61
|
-
- `create_thumbnail` - Thumbnail generation
|
|
62
|
-
- `set_tags` - Asset metadata tagging
|
|
63
|
-
- `generate_report` - Asset reports
|
|
64
|
-
- `validate` - Asset existence validation
|
|
65
|
-
- `get_source_control_state` - Check checkout/revision status
|
|
66
|
-
- `analyze_graph` - Deep dependency analysis (WASM-accelerated)
|
|
67
|
-
|
|
68
|
-
### 2. Editor Function Execution (`HandleExecuteEditorFunction`)
|
|
69
|
-
✅ **Fully Implemented** - Native subsystem operations
|
|
70
|
-
- `execute_console_command` - Direct `GEditor->Exec()` console command execution
|
|
71
|
-
- `GET_ALL_ACTORS` - `UEditorActorSubsystem::GetAllLevelActors()`
|
|
72
|
-
- `SPAWN_ACTOR` - `UEditorActorSubsystem::SpawnActorFromClass()`
|
|
73
|
-
- `DELETE_ACTOR` - `UEditorActorSubsystem::DestroyActor()`
|
|
74
|
-
- `ASSET_EXISTS` - `UEditorAssetLibrary::DoesAssetExist()`
|
|
75
|
-
- `SET_VIEWPORT_CAMERA` - `UUnrealEditorSubsystem::SetLevelViewportCameraInfo()`
|
|
76
|
-
- `CREATE_LEVEL` - Level creation via subsystem
|
|
77
|
-
- `LOAD_LEVEL` - Level loading
|
|
78
|
-
- `SAVE_LEVEL` - Level saving
|
|
79
|
-
- `BUILD_LIGHTING` - `ULevelEditorSubsystem::BuildLightMaps()`
|
|
80
|
-
- `LIST_ACTOR_COMPONENTS` - Enumerate components for any editor actor via `UEditorActorSubsystem`
|
|
81
|
-
- `RESOLVE_OBJECT` - Resolve assets or classes and surface best-effort metadata for inspection tools
|
|
82
|
-
- `SAVE_DIRTY_PACKAGES` / `SAVE_ALL_DIRTY_PACKAGES` - Trigger native dirty-package saves through `UEditorLoadingAndSavingUtils`
|
|
83
|
-
- `SAVE_ASSET` - Persist a specific asset path using throttled `UEditorAssetLibrary` helpers
|
|
84
|
-
- `SET_BLUEPRINT_DEFAULT` - Routes to native blueprint default editing without Python fallbacks
|
|
85
|
-
|
|
86
|
-
### 3. Property Operations (`HandleSetObjectProperty`, `HandleGetObjectProperty`)
|
|
87
|
-
✅ **Fully Implemented** - Typed `FProperty` marshaling
|
|
88
|
-
- **set_object_property** - JSON → `FProperty` conversion with type safety
|
|
89
|
-
- **get_object_property** - `FProperty` → JSON serialization
|
|
90
|
-
- **Array Operations**: append, remove, insert, get_element, set_element, clear
|
|
91
|
-
- **Map Operations**: set_value, get_value, remove_key, has_key, get_keys, clear
|
|
92
|
-
- **Set Operations**: add, remove, contains, clear
|
|
93
|
-
- **Supported Types**: primitives, enums, objects, soft object paths, structs (Vector/Rotator), arrays, maps, sets
|
|
94
|
-
|
|
95
|
-
### 4. Blueprint Operations (`HandleBlueprintAction`)
|
|
96
|
-
⚠️ **Partially Implemented** - SCS modification in progress
|
|
97
|
-
- Blueprint asset creation ✅
|
|
98
|
-
- SimpleConstructionScript (SCS) node manipulation ⚠️
|
|
99
|
-
- Component addition to blueprints ⚠️
|
|
100
|
-
- Blueprint compilation and saving ✅
|
|
101
|
-
- CDO (Class Default Object) property modification ✅
|
|
102
|
-
- Blueprint default overrides via `SET_BLUEPRINT_DEFAULT` requests ✅
|
|
103
|
-
|
|
104
|
-
### 5. Sequence/Sequencer Operations
|
|
105
|
-
✅ **Fully Implemented** - Level Sequence Editor integration
|
|
106
|
-
- **HandleSequenceAction** - Sequence creation and management
|
|
107
|
-
- **HandleAddSequencerKeyframe** - Keyframe operations
|
|
108
|
-
- **HandleManageSequencerTrack** - Track management
|
|
109
|
-
- **HandleAddCameraTrack** - Camera track addition
|
|
110
|
-
- **HandleAddAnimationTrack** - Animation track addition
|
|
111
|
-
- **HandleAddTransformTrack** - Transform track addition
|
|
112
|
-
|
|
113
|
-
### 6. Effect Operations (`HandleEffectAction`)
|
|
114
|
-
✅ **Fully Implemented** - Niagara and debug visualization
|
|
115
|
-
- Niagara system creation (`UNiagaraSystemFactoryNew`)
|
|
116
|
-
- Niagara emitter creation
|
|
117
|
-
- Spawn Niagara actors in level
|
|
118
|
-
- Modify Niagara user parameters
|
|
119
|
-
- Debug shape drawing (lines, boxes, spheres, arrows)
|
|
120
|
-
- Dynamic light spawning
|
|
121
|
-
- Effect cleanup operations
|
|
122
|
-
|
|
123
|
-
### 7. Animation & Physics (`HandleAnimationPhysicsAction`)
|
|
124
|
-
✅ **Fully Implemented** - Animation blueprint and physics setup
|
|
125
|
-
- **HandleCreateAnimBlueprint** - Animation blueprint creation
|
|
126
|
-
- **HandlePlayAnimMontage** - Montage playback control
|
|
127
|
-
- **HandleSetupRagdoll** - Ragdoll physics configuration
|
|
128
|
-
- Physics asset manipulation
|
|
129
|
-
- Skeletal mesh animation control
|
|
130
|
-
|
|
131
|
-
### 8. Environment Building (`HandleBuildEnvironmentAction`)
|
|
132
|
-
✅ **Fully Implemented** - Landscape and foliage tools
|
|
133
|
-
- **HandleCreateLandscape** - Landscape actor creation
|
|
134
|
-
- **HandleEditLandscape** - Landscape editing dispatcher
|
|
135
|
-
- **HandleModifyHeightmap** - Heightmap sculpting
|
|
136
|
-
- **HandlePaintLandscapeLayer** - Layer painting
|
|
137
|
-
- **HandlePaintFoliage** - Foliage painting with density control
|
|
138
|
-
- **HandleRemoveFoliage** - Foliage removal
|
|
139
|
-
- **HandleGetFoliageInstances** - Foliage instance queries
|
|
140
|
-
|
|
141
|
-
### 9. Material Graph Operations (`HandleCreateMaterialNodes`)
|
|
142
|
-
✅ **Fully Implemented** - Material editor graph manipulation
|
|
143
|
-
- **HandleAddMaterialTextureSample** - Add texture sample nodes
|
|
144
|
-
- **HandleAddMaterialExpression** - Add material expression nodes
|
|
145
|
-
- Material graph node connections
|
|
146
|
-
- Material parameter setup
|
|
147
|
-
|
|
148
|
-
### 10. Asset Workflow (`HandleSourceControl*`, `HandleFixupRedirectors`, etc.)
|
|
149
|
-
✅ **Fully Implemented** - Production asset pipeline support
|
|
150
|
-
- **HandleSourceControlCheckout** - Perforce/SVN checkout
|
|
151
|
-
- **HandleSourceControlSubmit** - Perforce/SVN submit
|
|
152
|
-
- **HandleFixupRedirectors** - Redirector cleanup after moves
|
|
153
|
-
- **HandleBulkRenameAssets** - Batch asset renaming
|
|
154
|
-
- **HandleBulkDeleteAssets** - Batch asset deletion
|
|
155
|
-
- **HandleGenerateThumbnail** - Thumbnail generation
|
|
156
|
-
|
|
157
|
-
### 11. Actor & Editor Control
|
|
158
|
-
✅ **Fully Implemented** - Viewport and actor manipulation
|
|
159
|
-
- PIE (Play In Editor) control - `ULevelEditorSubsystem::EditorPlaySimulate()`
|
|
160
|
-
- Camera positioning and rotation - `UUnrealEditorSubsystem::SetLevelViewportCameraInfo()`
|
|
161
|
-
- View mode changes - Native `GEditor->Exec()` with safety validation
|
|
162
|
-
- Actor spawning with class resolution
|
|
163
|
-
- Actor deletion with label matching
|
|
164
|
-
- Actor property modification
|
|
165
|
-
|
|
166
|
-
### 12. Python Execution (`HandleExecuteEditorPython`)
|
|
167
|
-
❌ **REMOVED** - Python execution is no longer supported
|
|
168
|
-
- All automation is now implemented natively in C++
|
|
169
|
-
- `execute_editor_python` action returns error: "Python execution is no longer supported"
|
|
170
|
-
- Improves security, reliability, and performance
|
|
171
|
-
- **Migration**: Use native automation actions instead
|
|
172
|
-
|
|
173
|
-
## Tool Coverage Matrix (Updated)
|
|
174
|
-
|
|
175
|
-
| Consolidated Tool | Actions | Bridge Status | Notes |
|
|
176
|
-
|-------------------|---------|---------------|-------|
|
|
177
|
-
| **manage_asset** | `list` | ✅ Native | Asset Registry native listing |
|
|
178
|
-
| | `import` | ✅ Native | `UAssetImportTask` FBX/texture import |
|
|
179
|
-
| | `create_material` | ✅ Native | `UMaterialFactoryNew` native creation |
|
|
180
|
-
| | `create_material_instance` | ✅ Native | Native material instance factory |
|
|
181
|
-
| | `duplicate` / `rename` / `move` | ✅ Native | `UEditorAssetLibrary` + `AssetTools` |
|
|
182
|
-
| | `delete` | ✅ Native | Bulk deletion with dependency handling |
|
|
183
|
-
| **control_actor** | `spawn` | ✅ Native | `UEditorActorSubsystem::SpawnActorFromClass()` |
|
|
184
|
-
| | `delete` | ✅ Native | `UEditorActorSubsystem::DestroyActor()` |
|
|
185
|
-
| | `apply_force` | 🔧 Planned | Physics forces native implementation pending |
|
|
186
|
-
| **control_editor** | `play` / `stop` / `pause` | ✅ Native | `ULevelEditorSubsystem` PIE control |
|
|
187
|
-
| | `set_camera` | ✅ Native | `UUnrealEditorSubsystem::SetLevelViewportCameraInfo()` |
|
|
188
|
-
| | `set_view_mode` | ✅ Native | Safe viewmode validation + `GEditor->Exec()` |
|
|
189
|
-
| | `console_command` | ✅ Native | `GEditor->Exec()` direct execution |
|
|
190
|
-
| **manage_level** | `load` / `save` / `stream` | ✅ Native | Editor function handlers for level ops |
|
|
191
|
-
| | `create_level` | ✅ Native | Native `CREATE_LEVEL` function |
|
|
192
|
-
| | `create_light` | ✅ Native | `SPAWN_ACTOR` with light class |
|
|
193
|
-
| | `build_lighting` | ✅ Native | `ULevelEditorSubsystem::BuildLightMaps()` |
|
|
194
|
-
| **animation_physics** | `create_animation_bp` | ✅ Native | Animation blueprint factory |
|
|
195
|
-
| | `play_montage` | ✅ Native | Native montage playback control |
|
|
196
|
-
| | `setup_ragdoll` | ✅ Native | Ragdoll physics configuration |
|
|
197
|
-
| | `configure_vehicle` | ⚠️ Partial | Complex vehicle setup in progress |
|
|
198
|
-
| **create_effect** | `niagara` | ✅ Native | `UNiagaraSystemFactoryNew` native creation |
|
|
199
|
-
| | `spawn_niagara` | ✅ Native | Native Niagara actor spawning |
|
|
200
|
-
| | `debug_shape` | ✅ Native | Debug line/box/sphere drawing |
|
|
201
|
-
| | `dynamic_light` | ✅ Native | Dynamic light spawning |
|
|
202
|
-
| **manage_blueprint** | `create` | ✅ Native | Blueprint asset creation |
|
|
203
|
-
| | `add_component` | ✅ Native | SCS manipulation via native APIs; UE 5.7+ SubobjectDataInterface support added |
|
|
204
|
-
| | `edit_defaults` | ✅ Native | CDO property modification |
|
|
205
|
-
| **build_environment** | `create_landscape` | ✅ Native | Landscape actor creation |
|
|
206
|
-
| | `sculpt` / `paint` | ✅ Native | Heightmap/layer editing |
|
|
207
|
-
| | `add_foliage` | ✅ Native | Foliage painting with density control |
|
|
208
|
-
| **system_control** | `profile` / `show_fps` | ✅ Native | Console command execution |
|
|
209
|
-
| | `set_quality` | ✅ Native | Quality settings via console |
|
|
210
|
-
| | `screenshot` | ✅ Native | Screenshot capture commands |
|
|
211
|
-
| **console_command** | (all) | ✅ Native | Direct `GEditor->Exec()` with safety filtering |
|
|
212
|
-
| **execute_python** | (all) | ❌ Removed | Python execution removed; use native actions |
|
|
213
|
-
| **manage_sequence** | `create` / `add_track` | ✅ Native | Level Sequence Editor native operations |
|
|
214
|
-
| | `keyframe` | ✅ Native | Native keyframe manipulation |
|
|
215
|
-
| **inspect** | `get_property` | ✅ Native | `FProperty` → JSON serialization |
|
|
216
|
-
| | `set_property` | ✅ Native | JSON → `FProperty` typed marshaling |
|
|
217
|
-
| | `list` | ✅ Native | Actor/asset listing via subsystems |
|
|
218
|
-
| **manage_audio** | `create_sound_cue` | ✅ Native | Sound Cue asset creation |
|
|
219
|
-
| | `play_sound_at_location` | ✅ Native | 3D spatial sound playback |
|
|
220
|
-
| | `create_audio_component` | ✅ Native | Audio component creation |
|
|
221
|
-
| **manage_behavior_tree** | `add_node` | ✅ Native | Behavior Tree node creation |
|
|
222
|
-
| | `connect_nodes` | ✅ Native | Node connection management |
|
|
223
|
-
| | `set_node_properties` | ✅ Native | Node property editing |
|
|
224
|
-
|
|
225
|
-
**Legend:**
|
|
226
|
-
- ✅ **Native** = Fully implemented in C++ plugin
|
|
227
|
-
- ⚠️ **Partial** = Some operations implemented; work in progress
|
|
228
|
-
- 🔧 **Planned** = Designed but not yet implemented
|
|
229
|
-
- ❌ **Removed** = Feature removed (Python execution)
|
|
230
|
-
|
|
231
|
-
## Current Version Status (v0.6.0)
|
|
232
|
-
|
|
233
|
-
### ✅ Completed Features
|
|
234
|
-
1. ✔️ **WebSocket Transport** - Custom lightweight WebSocket client with no external dependencies
|
|
235
|
-
2. ✔️ **Asset Operations** - Complete native asset pipeline (import, create, modify, delete)
|
|
236
|
-
3. ✔️ **Property Marshaling** - Full `FProperty` system integration with type safety
|
|
237
|
-
4. ✔️ **Editor Functions** - Native implementations of common editor operations
|
|
238
|
-
5. ✔️ **Sequence/Animation** - Level Sequence Editor and animation blueprint integration
|
|
239
|
-
6. ✔️ **Environment Tools** - Landscape and foliage manipulation
|
|
240
|
-
7. ✔️ **Material Graph** - Material node creation and editing
|
|
241
|
-
8. ✔️ **Source Control** - Perforce/SVN integration
|
|
242
|
-
9. ✔️ **Telemetry** - Request tracking and performance metrics
|
|
243
|
-
10. ✔️ **Security** - Capability token authentication
|
|
244
|
-
11. ✔️ **Camera Control** - Native viewport camera positioning via `SetLevelViewportCameraInfo()`
|
|
245
|
-
12. ✔️ **Python-Free Architecture** - 100% native C++ implementation
|
|
246
|
-
|
|
247
|
-
### ⚠️ In Progress
|
|
248
|
-
1. **Blueprint SCS Enhancements** - Improving UE 5.6+ SubobjectData subsystem compatibility
|
|
249
|
-
- Native component addition and modification (UE 5.7+ supported)
|
|
250
|
-
- Full SCS tree manipulation
|
|
251
|
-
2. **Modal Dialog Interception** - Handling blocking editor dialogs
|
|
252
|
-
- Asset save prompts
|
|
253
|
-
- Package checkout dialogs
|
|
254
|
-
|
|
255
|
-
### 📅 Roadmap (v0.7.0+)
|
|
256
|
-
|
|
257
|
-
#### High Priority
|
|
258
|
-
1. **Complete Blueprint SCS API** - Finalize SimpleConstructionScript manipulation for UE 5.6+
|
|
259
|
-
- Leverage `SubobjectData` subsystem when available
|
|
260
|
-
- Fallback to legacy reflection-based approach for older engines
|
|
261
|
-
- Native component property editing
|
|
262
|
-
|
|
263
|
-
2. **Physics System Integration** - Native physics force application
|
|
264
|
-
- `UPrimitiveComponent::AddForce()` wrappers
|
|
265
|
-
- Physics constraint manipulation
|
|
266
|
-
- Impulse and torque application
|
|
267
|
-
- Vehicle physics configuration
|
|
268
|
-
|
|
269
|
-
3. **Modal Dialog Mediation** - Intercept blocking dialogs
|
|
270
|
-
- Asset save prompts
|
|
271
|
-
- Package checkout dialogs
|
|
272
|
-
- Build lighting confirmation
|
|
273
|
-
- Timeout-based fallback responses
|
|
274
|
-
|
|
275
|
-
#### Medium Priority
|
|
276
|
-
4. **Hot Reload Support** - Update plugin without editor restart
|
|
277
|
-
- Dynamic handler registration
|
|
278
|
-
- State preservation across reloads
|
|
279
|
-
|
|
280
|
-
5. **Enhanced Telemetry** - Expanded metrics and diagnostics
|
|
281
|
-
- Per-action success/failure rates
|
|
282
|
-
- Performance profiling data
|
|
283
|
-
- Connection health history
|
|
284
|
-
|
|
285
|
-
6. **Batch Operations** - Multi-operation transactions
|
|
286
|
-
- Transactional asset workflows
|
|
287
|
-
- Undo/redo support
|
|
288
|
-
- Rollback on failure
|
|
289
|
-
|
|
290
|
-
7. **Advanced Security** - Enhanced authentication
|
|
291
|
-
- Session token support
|
|
292
|
-
- Per-action capability tokens
|
|
293
|
-
- Client certificate validation
|
|
294
|
-
|
|
295
|
-
#### Low Priority
|
|
296
|
-
8. **Marketplace Distribution** - Packaged plugin distribution
|
|
297
|
-
- Pre-compiled binaries for multiple UE versions
|
|
298
|
-
- Simplified installation process
|
|
299
|
-
- Documentation and samples
|
|
300
|
-
|
|
301
|
-
9. **Blueprint Visual Editing** - Direct Blueprint graph manipulation
|
|
302
|
-
- Node creation and connection
|
|
303
|
-
- Function/macro creation
|
|
304
|
-
- Event graph editing
|
|
305
|
-
|
|
306
|
-
## Dependencies
|
|
307
|
-
|
|
308
|
-
### Required Unreal Engine Modules
|
|
309
|
-
- **Core** - Base engine functionality
|
|
310
|
-
- **CoreUObject** - UObject system
|
|
311
|
-
- **Engine** - Runtime engine
|
|
312
|
-
- **UnrealEd** - Editor subsystems
|
|
313
|
-
- **EditorScriptingUtilities** - Editor scripting APIs
|
|
314
|
-
- **AssetTools** - Asset manipulation
|
|
315
|
-
- **AssetRegistry** - Asset database
|
|
316
|
-
- **LevelEditor** - Level editing subsystems
|
|
317
|
-
- **BlueprintGraph** - Blueprint editing
|
|
318
|
-
- **LevelSequence** / **LevelSequenceEditor** - Sequencer
|
|
319
|
-
- **Landscape** / **LandscapeEditor** - Terrain tools
|
|
320
|
-
- **Niagara** / **NiagaraEditor** - VFX system
|
|
321
|
-
- **MaterialEditor** - Material editing
|
|
322
|
-
|
|
323
|
-
### Optional Modules (Auto-Detected)
|
|
324
|
-
- **SubobjectDataInterface** - UE 5.7+ Blueprint SCS subsystem
|
|
325
|
-
- **ControlRig** - Animation and physics tools
|
|
326
|
-
- **SourceControl** - Version control integration
|
|
327
|
-
|
|
328
|
-
## Installation & Configuration
|
|
329
|
-
|
|
330
|
-
### Plugin Installation
|
|
331
|
-
1. Copy `Public/McpAutomationBridge/` to your project's `Plugins/` directory
|
|
332
|
-
2. Regenerate project files
|
|
333
|
-
3. Enable plugin via **Edit ▸ Plugins ▸ MCP Automation Bridge**
|
|
334
|
-
4. Restart editor
|
|
335
|
-
|
|
336
|
-
### Configuration (Project Settings ▸ Plugins ▸ MCP Automation Bridge)
|
|
337
|
-
- **Server Host**: MCP server address (default: `127.0.0.1`)
|
|
338
|
-
- **Server Port**: WebSocket port (default: `8091`)
|
|
339
|
-
- **Capability Token**: Optional security token
|
|
340
|
-
- **Reconnect Enabled**: Auto-reconnect on disconnect
|
|
341
|
-
- **Reconnect Delay**: Delay between reconnection attempts (default: 5s)
|
|
342
|
-
- **Heartbeat Timeout**: Connection health timeout
|
|
343
|
-
- **Ticker Interval**: Subsystem tick frequency (default: 0.25s)
|
|
344
|
-
|
|
345
|
-
### Environment Variables (Override Settings)
|
|
346
|
-
- `MCP_AUTOMATION_HOST` - Server host override
|
|
347
|
-
- `MCP_AUTOMATION_PORT` - Server port override
|
|
348
|
-
- `MCP_AUTOMATION_CAPABILITY_TOKEN` - Security token
|
|
349
|
-
- `MCP_IGNORE_SUBOBJECTDATA` - Disable SubobjectData detection
|
|
350
|
-
- `MCP_FORCE_SUBOBJECTDATA` - Force SubobjectData module linkage
|
|
351
|
-
|
|
352
|
-
### Deprecated Settings (Removed)
|
|
353
|
-
- ~~`MCP_ALLOW_PYTHON_FALLBACKS`~~ - Python execution has been removed
|
|
354
|
-
- ~~`Allow Python Fallbacks`~~ - Setting removed from project settings
|
|
355
|
-
- ~~`bAllowPythonFallbacks`~~ - Configuration property removed
|
|
356
|
-
- ~~`bAllowAllPythonFallbacks`~~ - Configuration property removed
|
|
357
|
-
|
|
358
|
-
## Contributions
|
|
359
|
-
|
|
360
|
-
Contributions welcome! Please open an issue or discussion before starting major work to ensure alignment with the roadmap.
|
|
361
|
-
|
|
362
|
-
### Development Guidelines
|
|
363
|
-
- Follow Unreal Engine C++ coding standards
|
|
364
|
-
- Add handler functions to appropriate `McpAutomationBridge_*Handlers.cpp` files
|
|
365
|
-
- Register new handlers in `ProcessAutomationRequest()`
|
|
366
|
-
- Update `McpAutomationBridgeSubsystem.h` with handler declarations
|
|
367
|
-
- Add comprehensive error handling with structured error codes
|
|
368
|
-
- Test across multiple UE versions (5.0-5.7)
|
|
369
|
-
- Document new actions in this file
|
|
370
|
-
- **No Python dependencies** - All new features must be native C++
|
package/docs/handler-mapping.md
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
# Handler Mappings
|
|
2
|
-
|
|
3
|
-
This document maps the TypeScript tool definitions to their corresponding C++ handlers in the Unreal Engine plugin.
|
|
4
|
-
|
|
5
|
-
## 1. Asset Manager (`manage_asset`)
|
|
6
|
-
|
|
7
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
8
|
-
| :--- | :--- | :--- | :--- |
|
|
9
|
-
| `list` | `McpAutomationBridge_AssetQueryHandlers.cpp` | `HandleAssetQueryAction` | |
|
|
10
|
-
| `search_assets` | `McpAutomationBridge_AssetQueryHandlers.cpp` | `HandleAssetQueryAction` | |
|
|
11
|
-
| `import` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
12
|
-
| `duplicate` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
13
|
-
| `rename` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
14
|
-
| `move` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
15
|
-
| `delete` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
16
|
-
| `delete_assets` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleBulkDeleteAssets` | |
|
|
17
|
-
| `create_folder` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
18
|
-
| `get_asset` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleGetAsset` | |
|
|
19
|
-
| `get_dependencies` | `McpAutomationBridge_AssetQueryHandlers.cpp` | `HandleGetAssetDependencies` | |
|
|
20
|
-
| `get_source_control_state` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleSourceControlCheckout` | |
|
|
21
|
-
| `analyze_graph` | `McpAutomationBridge_AssetQueryHandlers.cpp` | `HandleGetAssetReferences` | |
|
|
22
|
-
| `create_thumbnail` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleGenerateThumbnail` | |
|
|
23
|
-
| `set_tags` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
24
|
-
| `validate` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
25
|
-
| `fixup_redirectors` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleFixupRedirectors` | |
|
|
26
|
-
| `generate_report` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
27
|
-
| `create_material` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
28
|
-
| `create_material_instance` | `McpAutomationBridge_AssetWorkflowHandlers.cpp` | `HandleAssetAction` | |
|
|
29
|
-
| `create_render_target` | `McpAutomationBridge_RenderHandlers.cpp` | `HandleRenderAction` | |
|
|
30
|
-
| `nanite_rebuild_mesh` | `McpAutomationBridge_RenderHandlers.cpp` | `HandleRenderAction` | |
|
|
31
|
-
| `add_material_node` | `McpAutomationBridge_MaterialGraphHandlers.cpp` | `HandleAddMaterialExpression` | |
|
|
32
|
-
| `connect_material_pins` | `McpAutomationBridge_MaterialGraphHandlers.cpp` | `HandleCreateMaterialNodes` | |
|
|
33
|
-
| `remove_material_node` | `McpAutomationBridge_MaterialGraphHandlers.cpp` | `HandleCreateMaterialNodes` | |
|
|
34
|
-
| `add_bt_node` | `McpAutomationBridge_BehaviorTreeHandlers.cpp` | `HandleBehaviorTreeAction` | |
|
|
35
|
-
| `connect_bt_nodes` | `McpAutomationBridge_BehaviorTreeHandlers.cpp` | `HandleBehaviorTreeAction` | |
|
|
36
|
-
|
|
37
|
-
## 2. Blueprint Manager (`manage_blueprint`)
|
|
38
|
-
|
|
39
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
40
|
-
| :--- | :--- | :--- | :--- |
|
|
41
|
-
| `create` | `McpAutomationBridge_BlueprintCreationHandlers.cpp` | `HandleBlueprintAction` | |
|
|
42
|
-
| `get_blueprint` | `McpAutomationBridge_BlueprintHandlers.cpp` | `HandleBlueprintAction` | |
|
|
43
|
-
| `compile` | `McpAutomationBridge_BlueprintHandlers.cpp` | `HandleBlueprintAction` | |
|
|
44
|
-
| `add_component` | `McpAutomationBridge_SCSHandlers.cpp` | `HandleBlueprintAction` | Uses `SubobjectData` in UE 5.7+ |
|
|
45
|
-
| `set_default` | `McpAutomationBridge_BlueprintHandlers.cpp` | `HandleBlueprintAction` | |
|
|
46
|
-
| `modify_scs` | `McpAutomationBridge_SCSHandlers.cpp` | `HandleBlueprintAction` | |
|
|
47
|
-
| `get_scs` | `McpAutomationBridge_SCSHandlers.cpp` | `HandleBlueprintAction` | |
|
|
48
|
-
| `create_node` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
49
|
-
| `delete_node` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
50
|
-
| `connect_pins` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
51
|
-
| `break_pin_links` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
52
|
-
| `set_node_property` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
53
|
-
|
|
54
|
-
## 17. Input Manager (`manage_input`)
|
|
55
|
-
|
|
56
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
57
|
-
| :--- | :--- | :--- | :--- |
|
|
58
|
-
| `create_input_action` | `McpAutomationBridge_InputHandlers.cpp` | `HandleInputAction` | |
|
|
59
|
-
| `create_input_mapping_context` | `McpAutomationBridge_InputHandlers.cpp` | `HandleInputAction` | |
|
|
60
|
-
| `add_mapping` | `McpAutomationBridge_InputHandlers.cpp` | `HandleInputAction` | |
|
|
61
|
-
| `remove_mapping` | `McpAutomationBridge_InputHandlers.cpp` | `HandleInputAction` | |
|
|
62
|
-
| `add_variable` | `McpAutomationBridge_BlueprintHandlers.cpp` | `HandleBlueprintAction` | |
|
|
63
|
-
| `add_function` | `McpAutomationBridge_BlueprintHandlers.cpp` | `HandleBlueprintAction` | |
|
|
64
|
-
| `add_event` | `McpAutomationBridge_BlueprintHandlers.cpp` | `HandleBlueprintAction` | Supports custom & standard events |
|
|
65
|
-
|
|
66
|
-
## 3. Actor Control (`control_actor`)
|
|
67
|
-
|
|
68
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
69
|
-
| :--- | :--- | :--- | :--- |
|
|
70
|
-
| `spawn` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
71
|
-
| `spawn_blueprint` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
72
|
-
| `delete` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
73
|
-
| `delete_by_tag` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
74
|
-
| `duplicate` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
75
|
-
| `apply_force` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
76
|
-
| `set_transform` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
77
|
-
| `get_transform` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
78
|
-
| `set_visibility` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
79
|
-
| `add_component` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | Runtime component addition |
|
|
80
|
-
| `add_tag` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
81
|
-
| `find_by_tag` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
82
|
-
| `list` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
83
|
-
| `attach` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
84
|
-
| `detach` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
85
|
-
|
|
86
|
-
## 4. Editor Control (`control_editor`)
|
|
87
|
-
|
|
88
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
89
|
-
| :--- | :--- | :--- | :--- |
|
|
90
|
-
| `play` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleControlEditorAction` | |
|
|
91
|
-
| `stop` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleControlEditorAction` | |
|
|
92
|
-
| `set_camera` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleControlEditorAction` | |
|
|
93
|
-
| `console_command` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleConsoleCommandAction` | |
|
|
94
|
-
| `screenshot` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleControlEditorAction` | |
|
|
95
|
-
| `simulate_input` | `McpAutomationBridge_UiHandlers.cpp` | `HandleUiAction` | |
|
|
96
|
-
| `create_bookmark` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleControlEditorAction` | |
|
|
97
|
-
|
|
98
|
-
## 5. Level Manager (`manage_level`)
|
|
99
|
-
|
|
100
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
101
|
-
| :--- | :--- | :--- | :--- |
|
|
102
|
-
| `load` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleLevelAction` | |
|
|
103
|
-
| `save` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleLevelAction` | |
|
|
104
|
-
| `create_level` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleLevelAction` | |
|
|
105
|
-
| `export_level` | `McpAutomationBridge_LevelHandlers.cpp` | `HandleLevelAction` | |
|
|
106
|
-
| `import_level` | `McpAutomationBridge_LevelHandlers.cpp` | `HandleLevelAction` | |
|
|
107
|
-
| `load_cells` | `McpAutomationBridge_WorldPartitionHandlers.cpp` | `HandleWorldPartitionAction` | |
|
|
108
|
-
| `set_datalayer` | `McpAutomationBridge_WorldPartitionHandlers.cpp` | `HandleWorldPartitionAction` | |
|
|
109
|
-
|
|
110
|
-
## 6. Lighting Manager (`manage_lighting`)
|
|
111
|
-
|
|
112
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
113
|
-
| :--- | :--- | :--- | :--- |
|
|
114
|
-
| `spawn_light` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
115
|
-
| `spawn_sky_light` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
116
|
-
| `build_lighting` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
117
|
-
| `ensure_single_sky_light` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
118
|
-
| `create_lightmass_volume` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
119
|
-
| `setup_volumetric_fog` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
120
|
-
| `create_lighting_enabled_level` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
121
|
-
| `setup_global_illumination` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
122
|
-
| `configure_shadows` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
123
|
-
| `set_exposure` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
124
|
-
| `set_ambient_occlusion` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | |
|
|
125
|
-
| `list_light_types` | `McpAutomationBridge_LightingHandlers.cpp` | `HandleLightingAction` | Discovery: Returns all `ALight` subclasses |
|
|
126
|
-
|
|
127
|
-
## 7. Performance Manager (`manage_performance`)
|
|
128
|
-
|
|
129
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
130
|
-
| :--- | :--- | :--- | :--- |
|
|
131
|
-
| `generate_memory_report` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
132
|
-
| `configure_texture_streaming` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
133
|
-
| `merge_actors` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
134
|
-
| `start_profiling` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
135
|
-
| `stop_profiling` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
136
|
-
| `show_fps` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
137
|
-
| `show_stats` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
138
|
-
| `set_scalability` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
139
|
-
| `set_resolution_scale` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
140
|
-
| `set_vsync` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
141
|
-
| `set_frame_rate_limit` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
142
|
-
| `configure_nanite` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
143
|
-
| `configure_lod` | `McpAutomationBridge_PerformanceHandlers.cpp` | `HandlePerformanceAction` | |
|
|
144
|
-
|
|
145
|
-
## 8. Animation & Physics (`animation_physics`)
|
|
146
|
-
|
|
147
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
148
|
-
| :--- | :--- | :--- | :--- |
|
|
149
|
-
| `create_animation_bp` | `McpAutomationBridge_AnimationHandlers.cpp` | `HandleCreateAnimBlueprint` | |
|
|
150
|
-
| `play_montage` | `McpAutomationBridge_AnimationHandlers.cpp` | `HandlePlayAnimMontage` | |
|
|
151
|
-
| `setup_ragdoll` | `McpAutomationBridge_AnimationHandlers.cpp` | `HandleSetupRagdoll` | |
|
|
152
|
-
| `configure_vehicle` | `McpAutomationBridge_AnimationHandlers.cpp` | `HandleAnimationPhysicsAction` | Supports custom vehicle type passthrough |
|
|
153
|
-
|
|
154
|
-
## 9. Effects Manager (`manage_effect`)
|
|
155
|
-
|
|
156
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
157
|
-
| :--- | :--- | :--- | :--- |
|
|
158
|
-
| `niagara` | `McpAutomationBridge_EffectHandlers.cpp` | `HandleEffectAction` | |
|
|
159
|
-
| `spawn_niagara` | `McpAutomationBridge_EffectHandlers.cpp` | `HandleSpawnNiagaraActor` | |
|
|
160
|
-
| `debug_shape` | `McpAutomationBridge_EffectHandlers.cpp` | `HandleEffectAction` | |
|
|
161
|
-
| `create_niagara_system` | `McpAutomationBridge_EffectHandlers.cpp` | `HandleCreateNiagaraSystem` | |
|
|
162
|
-
| `create_niagara_emitter` | `McpAutomationBridge_EffectHandlers.cpp` | `HandleCreateNiagaraEmitter` | |
|
|
163
|
-
| `add_niagara_module` | `McpAutomationBridge_NiagaraGraphHandlers.cpp` | `HandleNiagaraGraphAction` | |
|
|
164
|
-
| `list_debug_shapes` | `McpAutomationBridge_EffectHandlers.cpp` | `HandleEffectAction` | Discovery: Returns all debug shape types |
|
|
165
|
-
| `clear_debug_shapes` | `McpAutomationBridge_EffectHandlers.cpp` | `HandleEffectAction` | Clears persistent debug shapes |
|
|
166
|
-
|
|
167
|
-
## 10. Environment Builder (`build_environment`)
|
|
168
|
-
|
|
169
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
170
|
-
| :--- | :--- | :--- | :--- |
|
|
171
|
-
| `create_landscape` | `McpAutomationBridge_LandscapeHandlers.cpp` | `HandleCreateLandscape` | |
|
|
172
|
-
| `sculpt` | `McpAutomationBridge_LandscapeHandlers.cpp` | `HandleSculptLandscape` | |
|
|
173
|
-
| `paint_foliage` | `McpAutomationBridge_FoliageHandlers.cpp` | `HandlePaintFoliage` | |
|
|
174
|
-
| `add_foliage_instances` | `McpAutomationBridge_FoliageHandlers.cpp` | `HandleAddFoliageInstances` | |
|
|
175
|
-
| `get_foliage_instances` | `McpAutomationBridge_FoliageHandlers.cpp` | `HandleGetFoliageInstances` | |
|
|
176
|
-
| `remove_foliage` | `McpAutomationBridge_FoliageHandlers.cpp` | `HandleRemoveFoliage` | |
|
|
177
|
-
| `create_procedural_terrain` | `McpAutomationBridge_EnvironmentHandlers.cpp` | `HandleCreateProceduralTerrain` | |
|
|
178
|
-
|
|
179
|
-
## 11. System Control (`system_control`)
|
|
180
|
-
|
|
181
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
182
|
-
| :--- | :--- | :--- | :--- |
|
|
183
|
-
| `execute_command` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleExecuteEditorFunction` | |
|
|
184
|
-
| `console_command` | `McpAutomationBridge_EditorFunctionHandlers.cpp` | `HandleConsoleCommandAction` | |
|
|
185
|
-
| `run_ubt` | *None* | *None* | Handled in TypeScript (`child_process`) |
|
|
186
|
-
| `run_tests` | `McpAutomationBridge_TestHandlers.cpp` | `HandleTestAction` | |
|
|
187
|
-
| `subscribe` | `McpAutomationBridge_LogHandlers.cpp` | `HandleLogAction` | |
|
|
188
|
-
| `unsubscribe` | `McpAutomationBridge_LogHandlers.cpp` | `HandleLogAction` | |
|
|
189
|
-
| `spawn_category` | `McpAutomationBridge_DebugHandlers.cpp` | `HandleDebugAction` | |
|
|
190
|
-
| `start_session` | `McpAutomationBridge_InsightsHandlers.cpp` | `HandleInsightsAction` | |
|
|
191
|
-
| `lumen_update_scene` | `McpAutomationBridge_RenderHandlers.cpp` | `HandleRenderAction` | |
|
|
192
|
-
| `set_project_setting` | `McpAutomationBridge_EnvironmentHandlers.cpp` | `HandleSystemControlAction` | |
|
|
193
|
-
| `create_hud` | `McpAutomationBridge_UiHandlers.cpp` | `HandleUiAction` | Sub-action of `system_control` |
|
|
194
|
-
| `set_widget_text` | `McpAutomationBridge_UiHandlers.cpp` | `HandleUiAction` | Sub-action of `system_control` |
|
|
195
|
-
| `set_widget_image` | `McpAutomationBridge_UiHandlers.cpp` | `HandleUiAction` | Sub-action of `system_control` |
|
|
196
|
-
| `set_widget_visibility` | `McpAutomationBridge_UiHandlers.cpp` | `HandleUiAction` | Sub-action of `system_control` |
|
|
197
|
-
| `remove_widget_from_viewport` | `McpAutomationBridge_UiHandlers.cpp` | `HandleUiAction` | Sub-action of `system_control` |
|
|
198
|
-
|
|
199
|
-
## 12. Sequencer (`manage_sequence`)
|
|
200
|
-
|
|
201
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
202
|
-
| :--- | :--- | :--- | :--- |
|
|
203
|
-
| `create` | `McpAutomationBridge_SequenceHandlers.cpp` | `HandleSequenceAction` | |
|
|
204
|
-
| `add_actor` | `McpAutomationBridge_SequenceHandlers.cpp` | `HandleSequenceAction` | |
|
|
205
|
-
| `play` | `McpAutomationBridge_SequenceHandlers.cpp` | `HandleSequenceAction` | |
|
|
206
|
-
| `add_keyframe` | `McpAutomationBridge_SequencerHandlers.cpp` | `HandleAddSequencerKeyframe` | |
|
|
207
|
-
| `add_camera` | `McpAutomationBridge_SequenceHandlers.cpp` | `HandleAddCameraTrack` | |
|
|
208
|
-
| `add_track` | `McpAutomationBridge_SequenceHandlers.cpp` | `HandleSequenceAction` | Dynamic track class resolution |
|
|
209
|
-
| `list_track_types` | `McpAutomationBridge_SequenceHandlers.cpp` | `HandleSequenceAction` | Discovery: Returns all `UMovieSceneTrack` subclasses |
|
|
210
|
-
|
|
211
|
-
## 13. Introspection (`inspect`)
|
|
212
|
-
|
|
213
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
214
|
-
| :--- | :--- | :--- | :--- |
|
|
215
|
-
| `inspect_object` | `McpAutomationBridge_PropertyHandlers.cpp` | `HandleInspectAction` | |
|
|
216
|
-
| `set_property` | `McpAutomationBridge_PropertyHandlers.cpp` | `HandleSetObjectProperty` | |
|
|
217
|
-
| `get_property` | `McpAutomationBridge_PropertyHandlers.cpp` | `HandleGetObjectProperty` | |
|
|
218
|
-
| `get_components` | `McpAutomationBridge_ControlHandlers.cpp` | `HandleControlActorAction` | |
|
|
219
|
-
| `list_objects` | `McpAutomationBridge_PropertyHandlers.cpp` | `HandleInspectAction` | |
|
|
220
|
-
|
|
221
|
-
## 14. Audio Manager (`manage_audio`)
|
|
222
|
-
|
|
223
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
224
|
-
| :--- | :--- | :--- | :--- |
|
|
225
|
-
| `create_sound_cue` | `McpAutomationBridge_AudioHandlers.cpp` | `HandleAudioAction` | |
|
|
226
|
-
| `play_sound_at_location` | `McpAutomationBridge_AudioHandlers.cpp` | `HandleAudioAction` | |
|
|
227
|
-
| `create_audio_component` | `McpAutomationBridge_AudioHandlers.cpp` | `HandleAudioAction` | |
|
|
228
|
-
|
|
229
|
-
## 15. Behavior Tree Manager (`manage_behavior_tree`)
|
|
230
|
-
|
|
231
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
232
|
-
| :--- | :--- | :--- | :--- |
|
|
233
|
-
| `add_node` | `McpAutomationBridge_BehaviorTreeHandlers.cpp` | `HandleBehaviorTreeAction` | |
|
|
234
|
-
| `connect_nodes` | `McpAutomationBridge_BehaviorTreeHandlers.cpp` | `HandleBehaviorTreeAction` | |
|
|
235
|
-
| `remove_node` | `McpAutomationBridge_BehaviorTreeHandlers.cpp` | `HandleBehaviorTreeAction` | |
|
|
236
|
-
| `break_connections` | `McpAutomationBridge_BehaviorTreeHandlers.cpp` | `HandleBehaviorTreeAction` | |
|
|
237
|
-
| `set_node_properties` | `McpAutomationBridge_BehaviorTreeHandlers.cpp` | `HandleBehaviorTreeAction` | |
|
|
238
|
-
|
|
239
|
-
## 16. Blueprint Graph Manager (`manage_blueprint_graph`)
|
|
240
|
-
|
|
241
|
-
| Action | C++ Handler File | C++ Function | Notes |
|
|
242
|
-
| :--- | :--- | :--- | :--- |
|
|
243
|
-
| `create_node` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | Dynamic node class resolution |
|
|
244
|
-
| `delete_node` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
245
|
-
| `connect_pins` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
246
|
-
| `break_pin_links` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
247
|
-
| `set_node_property` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | |
|
|
248
|
-
| `list_node_types` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | Lists all UK2Node subclasses |
|
|
249
|
-
| `set_pin_default_value` | `McpAutomationBridge_BlueprintGraphHandlers.cpp` | `HandleBlueprintGraphAction` | Sets default value on input pins |
|