Skip to main content
Glama

add_anim_graph_transition

Create a state-machine transition in an O3DE animation graph, optionally with conditions, to control when a source state moves to a target state.

Instructions

Add a state-machine transition, optionally with conditions.

Returns the transition object as get_anim_graph emits it. Source and target must share a state-machine parent; an exit node cannot be a source. All conditions are added as one Animation Editor undo step.

Args: anim_graph_id: Graph id (number or digit string). target_node_id: The state to transition to. source_node_id: The state to transition from. Required unless wildcard is true. wildcard: True for a wildcard transition (from any state). Then omit source_node_id. blend_time: Blend time in seconds, 0 or more. priority: Higher wins when several transitions are ready (0 to 2**32-1). disabled: Create the transition disabled. sync_mode: 0 disabled, 1 track based, 2 clip based. interpolation: 0 linear, 1 ease curve. conditions: List of {"condition_type": ..., "attributes": {...}}. Types: ParameterCondition, TimeCondition, PlayTimeCondition, MotionCondition, StateCondition, TagCondition, Vector2Condition (or the RTTI name). For example {"condition_type": "ParameterCondition", "attributes": {"parameterName": "Speed", "function": "GREATER", "testValue": 0.1}}. Enum attributes take the integer or the name; an unsupported attribute is refused with the supported list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
disabledNo
priorityNo
wildcardNo
sync_modeNo
blend_timeNo
conditionsNo
anim_graph_idYes
interpolationNo
source_node_idNo
target_node_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.0

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it delivers well: it discloses the return shape (transition object as get_anim_graph emits it), the undo grouping ('all conditions added as one Animation Editor undo step'), and refusal behavior ('an unsupported attribute is refused with the supported list'). It omits any permission/auth prerequisites, which keeps it from a 5 for a mutation tool.

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

Conciseness5/5

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

Front-loaded with the one-line purpose, then a constraints paragraph, then an Args block keyed to parameter names. Despite covering 10 parameters, every sentence carries load (constraints, enums, example, refusal semantics) with no filler.

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 zero annotation coverage, the definition supplies the invariants (shared parent, exit-node restriction), the wildcard path, enum legends, condition-type enumeration, and undo semantics. An output schema exists and is correctly referenced rather than re-explained, so nothing an agent needs 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.

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate entirely, and it does: the Args section documents all 10 parameters, including enum value mappings (sync_mode 0/1/2, interpolation 0/1), priority range, blend_time units, and a full condition-type taxonomy with a worked example JSON. This adds decisive meaning the bare schema cannot convey.

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?

The opening sentence names a specific verb+resource: 'Add a state-machine transition, optionally with conditions.' It is immediately distinguishable from sibling operations like set_anim_graph_transition (modify existing) and add_anim_graph_node (node, not transition). An agent can identify the exact artifact being created without opening a 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?

Gives concrete preconditions: source and target must share a state-machine parent, and an exit node cannot serve as a source. It also explains the wildcard branch (omit source_node_id). However, it never explicitly contrasts this with set_anim_graph_transition or states when NOT to use it, so it stops short of full 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