Skip to main content
Glama

remove_widget_animation

Destructive

Deletes a UWidgetAnimation from a Widget Blueprint by object name or display label, unregisters it as a variable, then compiles and saves the asset.

Instructions

Remove a UWidgetAnimation from a Widget Blueprint. Inverse of add_widget_animation: finds the animation by object name or display label, removes it from WidgetBP->Animations, unregisters it as a blueprint variable (OnVariableRemoved), then compiles and saves. If no such animation exists it is an honest no-op (removed:false, already_existed:false, no save).

Returns: { widget_bp_path: string, animation_name: string, object_name: string, removed: bool, already_existed: bool, animation_count: int, saved: bool, save_error: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoOptional. This command is REFUSED while a Play-in-Editor session is running: it either compiles a Blueprint (the reinstancer can retain a world, and CheckForWorldGCLeaks is Fatal -- it KILLS the editor) or writes to disk (Editor.AllowSavingAssetsDuringPIE=0 makes the engine refuse the write, so it would report success without writing a byte). Stop PIE and retry instead; force=true runs it anyway, at your own risk.
animation_nameYesobject name OR display label of the animation to remove
blueprint_nameNoAlias of `widget_bp_path` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `widget_bp_path`.
widget_bp_pathNo/Game path of the Widget Blueprint asset

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, readOnly=false, idempotent=false, so the safety bar is lower; the description still adds real value by disclosing that it unregisters the animation as a blueprint variable, recompiles, and saves, plus the precise no-op outcome flags. The PIE danger is covered in the force parameter schema rather than the description, so this is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence and the mechanics follow compactly. The Returns block is somewhat verbose in listing every field, but since there is no output schema it earns its place; overall structure is tight with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating the return object's fields and the no-op result shape, which an agent needs to interpret results. Combined with the schema-level PIE warning, the definition is essentially complete for a destructive mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all four parameters including the object-name-or-display-label semantics and the PIE/force warning. The description only restates the lookup-by-name behavior, adding little beyond what the structured fields provide, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Remove a UWidgetAnimation from a Widget Blueprint') and distinguishes itself from the sibling add_widget_animation by naming it as the inverse. It even enumerates the internal steps (removes from WidgetBP->Animations, unregisters variable, compiles, saves), so an agent knows exactly what operation it is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The inverse-of framing and the explicit no-op behavior ('If no such animation exists it is an honest no-op') give clear context for when the call is meaningful versus harmless. It does not, however, name any alternative tool for removing animations or state exclusions beyond the no-op case, so it stops short of explicit when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools