Skip to main content
Glama

get_actor_material_info

Read-onlyIdempotent

Retrieve material slots and assigned materials for an actor in the Unreal Editor world. Returns each StaticMeshComponent's material name, path, and class using the actor object name.

Instructions

List the material slots of an actor PLACED IN THE EDITOR WORLD, one row per slot per StaticMeshComponent, with the material actually assigned (name, path, class) or "None". Scope limits worth knowing: it only walks UStaticMeshComponents (a skeletal mesh's slots are invisible here) and only the EDITOR world (no PIE selector), and the actor is matched by its object NAME, not its outliner label. The Blueprint-template twin is get_blueprint_material_info.

Returns: { actor_name: string, material_slots: [{ slot, component, material_name, material_path, material_class }], total_slots: int } -- total_slots 0 means no StaticMeshComponent had slots, NOT that the actor has no materials.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actor_nameYesObject name of the actor in the EDITOR world (GetName(), not the display label shown in the outliner)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds substantial behavior beyond them: it discloses the exact return shape, warns that skeletal mesh slots are invisible, that only the editor world is walked, that matching is by object name not outliner label, and that total_slots=0 means no slots rather than no materials.

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 core purpose, then clearly sectioned into 'Scope limits worth knowing' and an explicit 'Returns:' block. Dense but every sentence carries information; slightly long sentences keep it from a perfect score.

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?

There is no output schema, but the description fully specifies the return structure (actor_name, material_slots array with slot/component/material_name/path/class, total_slots) plus the edge-case meaning of total_slots=0. Nothing an agent needs to call or interpret the result is missing.

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

Parameters4/5

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

Schema coverage is 100% and the single parameter is already documented as GetName() vs display label, so the description largely reiterates the schema. It does reinforce the name-vs-label trap, which adds marginal value above the baseline 3.

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 (list material slots of an actor in the editor world) with scope qualifiers, and explicitly distinguishes itself from its Blueprint twin get_blueprint_material_info. An agent can route between the two 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?

Names the alternative tool (get_blueprint_material_info) and states the scope limits that determine selection: only UStaticMeshComponents and only the editor world, with no PIE selector. It stops short of an explicit 'use this when / don't use when' framing, but the constraints effectively route the agent.

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