Skip to main content
Glama

set_decal_fade

DestructiveIdempotent

Set a named DecalActor's UDecalComponent fade-out and fade-in timing fields directly for precise, partial updates without global fade CVars or lifespan side effects.

Instructions

Set a UDecalComponent's fade-out/fade-in timing fields on a named DecalActor. Writes the EditAnywhere fields directly (mirrors the details panel) so values round-trip exactly, avoiding SetFadeOut's global fade-scale CVar and SetLifeSpan side effect. Only provided fields change (partial, idempotent).

Returns: { actor_label: string, fade_start_delay: float, fade_duration: float, fade_in_start_delay: float, fade_in_duration: float, destroy_owner_after_fade: bool, applied_count: int }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actor_labelYesLabel of the ADecalActor in the editor world.
fade_durationNoOptional fade-out duration in seconds (FadeDuration).
fade_in_durationNoOptional fade-in duration in seconds (FadeInDuration).
fade_start_delayNoOptional seconds before fade-out begins (FadeStartDelay; 0 + fade_duration 0 = persistent).
fade_in_start_delayNoOptional seconds before fade-in begins (FadeInStartDelay).
destroy_owner_after_fadeNoOptional: destroy the owning actor after fully fading out (bDestroyOwnerAfterFade).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations declare destructive/idempotent/readOnly profiles; the description corroborates idempotency and adds non-obvious behavior: writes EditAnywhere fields directly for exact round-trip, avoids a global CVar and a life-span side effect, and applies only provided fields. It does not explicitly call out the destructive potential implied by destroy_owner_after_fade, leaving that to the schema.

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?

Front-loaded with the action and target, followed by the behavioral rationale and the partial/idempotent note; the Returns block is genuinely additive because there is no output schema. Slightly dense but every sentence carries information.

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

Completeness5/5

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

For a mutation tool it covers the essentials: what changes, that only supplied fields are written, idempotency, the round-trip guarantee, side effects avoided, and the exact return shape. Combined with full schema coverage and existing annotations, an agent has what it needs to call it correctly.

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 description coverage is 100%, so the schema already documents each parameter including defaults and the persistent-fade edge case. The description restates the affected fields but adds no format, range, or interaction semantics beyond what the schema provides.

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

Purpose4/5

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

States a specific verb (Set) on a specific resource (a UDecalComponent's fade-out/fade-in timing fields) on a named DecalActor, and even names the exact struct fields affected. It is clear, but it does not address overlap with siblings like set_decal_fade_in or set_decal_destroy_owner_after_fade, which this tool also touches via its fade_in_duration and destroy_owner_after_fade parameters.

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?

Gives a clear rationale for choosing this tool over an alternative implementation (SetFadeOut's global fade-scale CVar, SetLifeSpan's side effect) and states the partial/idempotent contract. However, it never routes the agent between this and the sibling decal-fade tools, so sibling selection is left to inference.

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