tutorial · 2026-03-26

Preview the Blast Radius: Dry-Run and Preview Modes for Agent-Driven Editor Actions

How to safely run destructive editor commands with AI by previewing what spawn, destroy and console commands will touch before they commit.

Mythic Dev Assist
Featured on Fab Mythic Dev Assist A queryable causal world-model of UE5 for AI coding agents, over MCP.
$24.99 Get on Fab →
101
HTTP action routes (spawn / destroy / preview / more)
14
Generic MCP tools wrapping the bridge
127.0.0.1:7779
Default in-editor HTTP endpoint (loopback)
5.3-5.7
Supported engine versions (packaged zips)

The irreversible-action problem for agents

When you let an AI coding agent drive the Unreal editor, the dangerous calls are the ones it cannot take back. Spawning the wrong class, moving an actor into a wall, or firing a console command like DestroyAll on a Blueprint class will all happen the instant the agent decides to act. A stateless agent is essentially guessing at the world state, and a confident guess on a destructive call is exactly how you lose a level's worth of placed actors with no warning.

This is the problem dry-run and preview modes exist to solve, and it is why you can safely run destructive editor commands with AI when the bridge is built around a glass-box principle rather than a fire-and-forget one. Mythic Dev Assist (MDA) is an agent-native editor bridge for UE5 that runs inside the editor process and exposes an in-editor HTTP server on loopback 127.0.0.1:7779, with dry-run and preview built into spawn, destroy, and console-command routes. The idea is simple: ask the editor what would happen, read the structured answer, then decide whether to commit.

Because MDA is the bridge layer and not the AI itself, the agent you already use — Claude Code, Cursor, Codex CLI, or any MCP client — is the one making the call. The sections below show what each preview actually returns so you, or your agent, can trust it.

Spawn dry-run: resolve the class before you create anything

A spawn that fails halfway is its own kind of mess: a half-resolved class reference, an actor dropped off the navmesh, or a new actor materialising inside existing geometry. The spawn dry-run lets you validate all of that without ever creating an object.

Run a spawn with dry_run set and the response reports class_resolved, on_navmesh, and collision_at_location for the requested transform before committing. That tells the agent up front whether the class path resolves to a real type, whether the chosen location sits on the navmesh, and whether the spawn point is already occupied. If class_resolved comes back false, the agent fixes the path instead of throwing a runtime error; if collision_at_location is true, it nudges the transform first.

1. Have your agent issue the spawn as a dry-run first, passing the same class and transform it intends to use for the real call.

2. Read class_resolved, on_navmesh, and collision_at_location from the response. Treat an unresolved class or a positive collision as a stop signal.

3. Adjust the class path or location, re-run the dry-run if needed, and only then issue the committing spawn. The committing call returns the live world state in its standard response envelope so the agent confirms what it just created.

Destroy dry-run: count the casualties first

Destruction is where previewing earns its keep, because a destroy by class or filter can quietly take far more than you meant. The destroy dry-run answers the only question that matters before you delete: how many, and which ones.

Issue a destroy with dry_run and the response returns a would_destroy count along with a would_affect list of the actors that match. Instead of deleting and hoping, the agent sees the exact set first. A would_destroy of 1 when you expected 1 is a green light; a would_destroy of 40 when you expected a handful is the moment to stop and re-scope the filter.

When the real destroy does run, MDA's mutation responses are deliberately rich: a committed destroy returns the names, classes, and locations of the actors it removed, so the agent has an exact, structured record of what changed rather than a bare success flag. Pairing the would_affect preview with the post-destroy read-back gives you a before-and-after the agent can reason over.

Command preview: see what DestroyAll would touch

Console commands are the sharpest tool in the box because a single string can sweep the entire world. The command preview puts a check between the agent and that string. Preview a console command such as DestroyAll BP_Enemy_C through MDA's world route and the response returns a would_affect count plus an agent_hint before anything executes.

The would_affect count is your blast-radius number — it is how many actors that command would hit if committed. The agent_hint is MDA's semantic recovery guidance: every error in MDA carries an agent_hint pointing at a specific recovery path, and the preview surfaces the same kind of steer so a stateless agent knows what to do next rather than retrying blindly. Preview first, read the count, and only commit when the number matches intent.

Dry-run and preview are not a bolt-on flag in MDA; they are a documented design principle — the sandbox, what-if approach that keeps an autonomous agent grounded in real world state. Enable the plugin from Edit, Plugins, Developer Tools, restart the editor, point your MCP client at the bundled server, and your agent gains a look-before-you-leap step on every destructive call. From there, lean on MDA's other read-backs — the World Pulse meta on every response and the per-session SQLite history — to verify that what the agent previewed is exactly what landed.

What each preview returns before committing

ActionPreview modeKey read-backs returned
Spawn actordry_runclass_resolved, on_navmesh, collision_at_location
Destroy actorsdry_runwould_destroy count, would_affect actor list
Console command (e.g. DestroyAll BP_Enemy_C)previewwould_affect count, agent_hint

Structured read-backs from MDA dry-run and preview modes, per the product listing.

FAQ

How do I safely run destructive editor commands with AI in UE5?

Have your agent issue the action in dry-run or preview mode first. With Mythic Dev Assist, a spawn dry-run returns class_resolved, on_navmesh and collision_at_location; a destroy dry-run returns a would_destroy count and a would_affect list; and a console-command preview returns a would_affect count plus an agent_hint. The agent reads those structured results, confirms the blast radius matches intent, and only then commits.

How do I preview what DestroyAll will affect before running it?

Send the command through MDA's world preview, for example previewing DestroyAll BP_Enemy_C. The response returns a would_affect count of how many actors the command would hit plus an agent_hint, so you see the blast radius before anything executes and can re-scope the filter if the number is wrong.

Does the destroy preview tell me exactly which actors will be removed?

Yes. A destroy dry-run returns both a would_destroy count and a would_affect list of the matching actors. When you commit the real destroy, MDA's mutation response then reports the names, classes and locations of the actors it actually removed, giving you a precise before-and-after record.

Do I need a special agent to use dry-run and preview?

No. MDA is the bridge layer, not an AI. It exposes the dry-run and preview routes over an in-editor HTTP server and a companion MCP server, so any MCP client you already use — Claude Code, Cursor, Codex CLI, or a custom host via direct HTTP — can call them. You bring your own agent.

Get it on Fab

Mythic Dev Assist

Give AI coding agents (Claude Code, Cursor, any MCP client) eyes inside Unreal — a queryable causal world model exposing perception, memory, causality, verification and action through an in-editor HTTP bridge and an external MCP server. Observe, set, create, destroy and watch the editor programmatically.

$24.99USD · one-time · free updates
Report a bug