Kit debug
7 herramientas. Generado a partir del código fuente del plugin; no lo edites a mano.
Las descripciones de las herramientas y de los argumentos se muestran en inglés porque reflejan el schema de las herramientas (el mismo texto que el agente recibe en
tools/list).
Guía
The debug kit is a read-only evidence surface. It reports current runtime state, a bounded stack for the MCP request thread, and entries from an already registered Unreal Message Log listing. It does not open debugger windows, run console commands, load modules, change filters, pause threads, or change project state. Enable it with edit.enable_kits when adaptive exposure is active.
Start here
- Call
debug.get_runtime_diagnostics {}to establish whether the editor, PIE, and live worlds are present before interpreting runtime behavior. - Use
debug.get_memory_stats {}anddebug.get_gc_state {}for cheap process observations. - In an editor world,
debug.get_world_timers_summary {}returns public timer-manager tick state; Unreal does not export a portable timer count.debug.count_objects_by_classis bounded and should use a narrow class and limit. - For an existing Unreal Message Log listing, call
debug.read_message_log {"listing":"MapCheck","limit":100}. A listing must already be registered and the MessageLog module must already be loaded. - When diagnosing the MCP request path itself, call
debug.capture_callstack {"maxCharacters":8192}. Treat empty output as an availability observation, usually related to installed symbols or the active platform. - Follow the ownership map below for the diagnostic surface that owns the next action.
Tools
| Tool | Use |
|---|---|
debug.get_runtime_diagnostics | Snapshots timing, frame count, editor/PIE state, and live worlds grouped by type. |
debug.get_memory_stats / debug.get_gc_state | Process memory totals and instantaneous GC state. |
debug.get_world_timers_summary | Read-only editor-world timer tick state; it does not reveal or alter delegates. |
debug.count_objects_by_class | Bounded loaded-UObject count for a requested class. |
debug.read_message_log | Reads bounded severity/text entries from a registered listing's current filtered view. |
debug.capture_callstack | Captures a bounded stack for the current MCP request thread only. |
Ownership map
| Need | Owner |
|---|---|
| Blueprint breakpoints, watched pins, debug object, execution trace | bp.add_breakpoint, bp.list_breakpoints, bp.watch_pin, bp.list_watches, bp.get_execution_trace, bp.set_debug_object |
| Console commands and CVars | console.exec, console.get_cvar, console.search, console.list_categories |
| Log category levels, capture, and log file markers | log.list_categories, log.get_verbosity, log.set_verbosity, log.read_capture, log.read_file_since |
| PIE lifecycle and editor diagnostics | edit.* play/diagnostic tools |
| Net drivers and live net modes | network.list_net_drivers, network.get_runtime_diagnostics |
| Render-target and project-renderer inspection | rendering.audit_render_target, rendering.audit_project_renderer |
Interpreting results
get_runtime_diagnostics is a point-in-time snapshot. PIE can transition after the reply, and an idle editor can validly expose no live world context. Use its world inventory as evidence of the process state at the call, not as a request to create or activate a world.
read_message_log does not enumerate listings because Unreal's public Message Log contract does not expose a registered-listing enumeration. The supplied listing is checked before it is read, so the tool cannot create one. Entries follow the listing's current editor filters; they do not execute hyperlinks/tokens or change selection, pages, filters, or UI.
capture_callstack returns only the worker thread serving this request. It cannot capture the game thread, debugger-paused threads, or another process. Its text can omit symbols when the installed engine has no matching debug symbols. Use the editor log and the owning kit's diagnostics when the issue is gameplay, Blueprint, rendering, networking, or console-related.
Validation is pending the deferred UE 4.27 and UE 5.8 build/smoke cycle.
Herramientas
Leyenda. riesgo 0 = solo lectura, 1 = operación inofensiva del editor, 2 = modifica un asset, 3 = elimina/reemplaza un asset, 4 = proyecto/configuración/build, 5 = potencialmente destructivo (las llamadas por encima de
MaxAutoRiskrequieren"_confirm": true). modifica = se ejecuta en una transacción (edit.undo la revierte). requiere PIE / requiere mundo = se rechaza sin una sesión PIE / sin un nivel abierto. requiere el plugin = no disponible cuando el plugin está desactivado. dryRun = acepta el argumentodryRun. smoke = cubierto poredit.self_test.
debug.capture_callstack (riesgo 0, UE 5.3+, smoke)
Captures a bounded stack for the current MCP request thread; it cannot inspect or pause another thread.
| Argumento | Tipo | Descripción |
|---|---|---|
maxCharacters | integer | Maximum UTF-8 characters to retain, from 1024 through 65536. Valor predeterminado 8192. |
Devuelve: callstack, available, maxCharacters, notes.
debug.count_objects_by_class (riesgo 0, smoke)
Counts loaded objects assignable to a class, with a required response limit to bound the scan.
| Argumento | Tipo | Descripción |
|---|---|---|
class | string | obligatorio. Native or Blueprint class path to count among loaded objects. |
limit | integer | obligatorio. Maximum matching objects counted before the scan stops, from 1 through 100000. |
includeDerived | boolean | Include subclasses of the requested class. Valor predeterminado true. |
Devuelve: class, count, truncated, note.
debug.get_gc_state (riesgo 0, smoke)
Reports whether Unreal garbage collection is currently in progress.
Sin argumentos.
Devuelve: garbageCollecting, objectCount.
debug.get_memory_stats (riesgo 0, smoke)
Returns platform process-memory totals from the exported Core memory stats API.
Sin argumentos.
Devuelve: totalPhysical, availablePhysical, usedPhysical, peakUsedPhysical.
debug.get_runtime_diagnostics (riesgo 0, smoke)
Reports the current frame, timing, PIE/editor flags, and live world-context inventory.
Sin argumentos.
Devuelve: frameCounter, currentTimeSeconds, deltaTimeSeconds, game, playInEditor, editorAvailable, worldCount, worlds, notes.
debug.get_world_timers_summary (riesgo 0, requiere mundo, smoke)
Summarizes the current editor world's public timer-manager tick state without listing or modifying timers.
Sin argumentos.
Devuelve: world, tickedThisFrame, note.
debug.read_message_log (riesgo 0, smoke)
Reads bounded entries from an already registered Message Log listing without opening it or executing tokens.
| Argumento | Tipo | Descripción |
|---|---|---|
listing | string | obligatorio. Registered Unreal Message Log listing name, for example MapCheck or CompilerResultsLog. |
limit | integer | Maximum filtered messages to return, from 1 through 1000. Valor predeterminado 100. |
Devuelve: listing, label, entries, totalFiltered, truncated, notes.