Skip to main content
Glama

set_smart_object_slot_transform

DestructiveIdempotent

Set a smart object slot's local offset and rotation in a USmartObjectDefinition, then save the asset.

Instructions

Set the local offset and/or rotation (degrees) of the slot at slot_index in a USmartObjectDefinition asset, relative to the smart object's owner, then save it. Each of offset and rotation is written only when given with 3 numbers; otherwise it keeps its value. An invalid slot_index is an error, and a failed save returns an error with the change kept in memory. Undoable (one editor transaction). Read slots back with get_smart_object_slots_detail; set_smart_object_slot_enabled and set_smart_object_slot_activity_tags edit other slot fields.

Returns: { definition_path: string, slot_index: int, offset: [number, number, number], rotation: [number, number, number], saved: bool }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offsetNoOptional [x, y, z] local offset
rotationNoPREFERRED: the OBJECT {"roll":R,"pitch":P,"yaw":Y} (any subset, absent axes are 0). The ARRAY form below is [pitch, yaw, roll] -- its index 2 is ROLL, NOT yaw, which once put a PlayerStart on its side. Optional [pitch, yaw, roll] local rotation (degrees)
slot_indexNoIndex of the slot to edit
definition_pathYesPath to the USmartObjectDefinition asset

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=true), and the description adds substantial behavior beyond that: partial-write semantics for offset/rotation, invalid slot_index is an error, a failed save returns an error with the change retained in memory, and the edit is grouped as one undoable editor transaction. The return shape is spelled out, which matters since no output schema exists.

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?

Dense but appropriately sized: purpose first, then write semantics, then error behavior, then sibling routing, then the return shape. Every sentence carries information an agent needs; nothing is redundant with the schema or annotations.

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 4-parameter mutation tool, the description covers purpose, partial-update behavior, error handling, undo grouping, sibling tools, and the return payload that no output schema provides. An agent has everything needed to call it and to recover from failure.

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 baseline is 3. The description does add 'degrees' and 'relative to the owner' framing, but its rule that rotation is written only when given with 3 numbers conflicts with the schema's PREFERRED object form, which accepts any subset of axes with absent axes treated as 0. That mismatch muddies rather than clarifies the rotation parameter.

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+scope: set the local offset and/or rotation of a slot at slot_index in a USmartObjectDefinition asset, and it names the account the transform is relative to (the smart object's owner). It explicitly distinguishes itself from sibling slot-editing tools (set_smart_object_slot_enabled, set_smart_object_slot_activity_tags) and the reading tool get_smart_object_slots_detail.

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?

Clearly routes the agent: read slots back with get_smart_object_slots_detail, and use the other two named tools for different slot fields, which implicitly defines when this tool is the right choice. It stops short of an explicit 'use this when X / not when Y' statement, but the sibling routing is concrete enough to select correctly.

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