Focused reference · Unreal Engine 5.8

Automation surface selector

unreal-editor-automation/references/selector-architecture.md
Task shapeChooseNotes
Right-click selected assets/actorsScripted ActionAssetActionUtility or ActorActionUtility; Beta
Reusable dockable UI with controls/progressEditor Utility WidgetUMG-based; Beta
Action on one placed Actor, possibly shared with runtimeCall in EditorAvoid editor-only nodes in runtime-capable classes
Interactive viewport manipulationScriptable ToolModal, accept/cancel lifecycle; Beta
Cross-tool pipeline or large scripted batchPythonEditor-only; Experimental in 5.8
Deterministic editor extension/APIC++ editor module/pluginBest for stable shared tooling and native tests
Headless repeatable batchCommandlet or command-line PythonPrefer for CI; prove exit code and report output
Asset correctnessData ValidationIsDataValid/UEditorValidatorBase
Code/system behaviorAutomation TestC++ framework, specs, low-level tests as appropriate
Gameplay/map behaviorFunctional TestActor-based test in a level
AI invokes bounded editor functionsUnreal MCPExperimental 5.8 server; schema-driven tools

Architecture

Split every nontrivial tool into:

UI / command / MCP adapter
  -> validated request
  -> discovery and dry-run plan
  -> mutation service
  -> save/source-control boundary
  -> validation and structured report

Keep domain logic out of widget graphs and MCP transport handlers. A shared C++/Blueprint library or Python module should make the same operation callable from UI, CI, or tests without duplicating behavior.

Escalation rule

Use the least powerful surface that fits. A one-selection rename does not need a global startup object; a CI validator does not need a dockable UI; an AI tool should expose one typed intent, not a general “execute arbitrary Python” endpoint.