Saltar al contenido principal

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​

  1. Call debug.get_runtime_diagnostics {} to establish whether the editor, PIE, and live worlds are present before interpreting runtime behavior.
  2. Use debug.get_memory_stats {} and debug.get_gc_state {} for cheap process observations.
  3. 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_class is bounded and should use a narrow class and limit.
  4. 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.
  5. 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.
  6. Follow the ownership map below for the diagnostic surface that owns the next action.

Tools​

ToolUse
debug.get_runtime_diagnosticsSnapshots timing, frame count, editor/PIE state, and live worlds grouped by type.
debug.get_memory_stats / debug.get_gc_stateProcess memory totals and instantaneous GC state.
debug.get_world_timers_summaryRead-only editor-world timer tick state; it does not reveal or alter delegates.
debug.count_objects_by_classBounded loaded-UObject count for a requested class.
debug.read_message_logReads bounded severity/text entries from a registered listing's current filtered view.
debug.capture_callstackCaptures a bounded stack for the current MCP request thread only.

Ownership map​

NeedOwner
Blueprint breakpoints, watched pins, debug object, execution tracebp.add_breakpoint, bp.list_breakpoints, bp.watch_pin, bp.list_watches, bp.get_execution_trace, bp.set_debug_object
Console commands and CVarsconsole.exec, console.get_cvar, console.search, console.list_categories
Log category levels, capture, and log file markerslog.list_categories, log.get_verbosity, log.set_verbosity, log.read_capture, log.read_file_since
PIE lifecycle and editor diagnosticsedit.* play/diagnostic tools
Net drivers and live net modesnetwork.list_net_drivers, network.get_runtime_diagnostics
Render-target and project-renderer inspectionrendering.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 MaxAutoRisk requieren "_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 argumento dryRun. smoke = cubierto por edit.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.

ArgumentoTipoDescripción
maxCharactersintegerMaximum 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.

ArgumentoTipoDescripción
classstringobligatorio. Native or Blueprint class path to count among loaded objects.
limitintegerobligatorio. Maximum matching objects counted before the scan stops, from 1 through 100000.
includeDerivedbooleanInclude 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.

ArgumentoTipoDescripción
listingstringobligatorio. Registered Unreal Message Log listing name, for example MapCheck or CompilerResultsLog.
limitintegerMaximum filtered messages to return, from 1 through 1000. Valor predeterminado 100.

Devuelve: listing, label, entries, totalFiltered, truncated, notes.