Skip to main content
Glama

set_montage_properties

DestructiveIdempotent

Configure a UAnimMontage's blend modes, auto blend out, trigger time, sync group/slot, and root motion fields in one undoable save with input validation.

Instructions

Set only the supplied blend modes, auto blend out, trigger time, sync group/slot and deprecated root motion fields of a UAnimMontage in one undo step and save it; bad enum names, or no field, are refused before any change, and supplied values the montage already has are a success with changed=false, applied_count 0 and saved=false, with nothing modified or saved. For blend times use set_montage_blend_times. A failed save makes success false, with saved=false and save_error.

Returns: { montage_path, blend_mode_in, blend_mode_out, enable_auto_blend_out, blend_out_trigger_time, sync_group, sync_slot_index, root_motion: {...}, applied_count, notes, changed, saved, save_error, message }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sync_groupNoSync group name (SyncGroup) the montage joins for marker-based sync; an empty string sets None, omitted keeps the current value.
montage_pathYesFull asset path of the montage (e.g. '/Game/MyGame/AM_Example').
blend_mode_inNoBlendModeIn: 'Standard' or 'Inertialization' (EMontageBlendMode). Optional.
blend_mode_outNoBlendModeOut: 'Standard' or 'Inertialization' (EMontageBlendMode). Optional.
sync_slot_indexNoZero-based index of the slot track whose animation drives the sync group (SyncSlotIndex); omitted keeps the current value.
enable_auto_blend_outNoWhen true the montage blends out by itself near its end (bEnableAutoBlendOut); omitted keeps the current value.
root_motion_root_lockNoRootMotionRootLock: 'RefPose'|'AnimFirstFrame'|'Zero' (DEPRECATED since 4.5). Optional.
blend_out_trigger_timeNoBlendOutTriggerTime in seconds (<0 = auto from BlendOut time). Optional.
enable_root_motion_rotationNobEnableRootMotionRotation (bool, DEPRECATED since 4.5). Optional.
enable_root_motion_translationNobEnableRootMotionTranslation (bool, DEPRECATED since 4.5). Optional.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.2.0
    • changedInput schema / properties / enable_auto_blend_out / description
      Previous value: -"bEnableAutoBlendOut (bool). Optional."New value: +"When true the montage blends out by itself near its end (bEnableAutoBlendOut); omitted keeps the current value."
    • changedInput schema / properties / sync_group / description
      Previous value: -"SyncGroup name (FName). Optional."New value: +"Sync group name (SyncGroup) the montage joins for marker-based sync; an empty string sets None, omitted keeps the current value."
    • changedInput schema / properties / sync_slot_index / description
      Previous value: -"SyncSlotIndex (zero-based int). Optional."New value: +"Zero-based index of the slot track whose animation drives the sync group (SyncSlotIndex); omitted keeps the current value."
  2. First observedv1.1.0

TDQS

A4.4/5.0
Behavior5/5

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

With destructiveHint=true and idempotentHint=true already declared, the description goes well beyond the annotations: it discloses atomic all-or-nothing validation before any change, single-undo-step + auto-save semantics, the no-op contract (changed=false, applied_count 0, saved=false when values already match), and the failed-save contract (success=false, saved=false, save_error). That is real operational detail an agent cannot get from the annotations.

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 verb+resource and scoped to four dense sentences with no filler. The first sentence is heavily clause-laden, but every clause carries a distinct behavioral fact rather than restating the name or schema.

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 10-parameter mutation tool with no output schema, the description covers undo scope, save behavior, validation ordering, idempotency semantics, and failure mode, and it inlines the return shape (applied_count, changed, saved, save_error, notes). Nothing materially needed to invoke it correctly is missing.

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%, including enum values and the 'omitted keeps the current value' default for each field, so the schema carries the burden. The description reinforces the partial-update rule with 'only the supplied ... fields', but adds no per-parameter syntax or format detail beyond that.

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 (Set) and resource (UAnimMontage), enumerates the exact field groups it touches (blend modes, auto blend out, trigger time, sync group/slot, deprecated root motion), and explicitly disclaims the fields it does not touch. It also names the sibling set_montage_blend_times so the agent can distinguish it without opening either schema.

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?

Explicitly routes blend-time edits to set_montage_blend_times and establishes the refusal condition for bad enum names or empty calls. It stops short of distinguishing itself from the many other montage setters (e.g. set_anim_montage_rate_scale, set_anim_montage_skeleton), so the when-to-use picture is clear but not exhaustive.

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