Skip to main content
Glama

create_material_instance

Idempotent

Create a material instance from a parent material to store only overrides, keeping the parent untouched and updatable without compiling a new shader; returns it if already present.

Instructions

Create a material instance (MIC) from a parent material -- the cheap, non-destructive way to re-skin a vendor or engine material: the parent stays untouched and updatable while only your overrides are stored, and no new shader is compiled. Idempotent (already_exists=true when it is already there). Same operation as create_material_instance_constant, which takes a single full asset path instead of separate folder and name. Tune it with set_material_instance_param_override, and remember static switches inherit from the parent and are set separately.

Returns: { instance_path: string, instance_name: string, parent_material?: string, parent_material_path: string, parent_material_name: string, success: bool, already_exists?: bool, saved: bool, save_error?: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
instance_nameYesName of the material instance to create
instance_pathYesPackage path for the material instance (e.g., '/Game/Materials/MyInstance')
parent_material_pathYesFull path to the parent material (e.g., '/Game/Materials/MyMaterial.MyMaterial')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover readOnly/destructive/idempotent hints, but the description adds real substance beyond them: the parent stays untouched and updatable, no new shader is compiled, and the already_exists=true idempotency signal is spelled out. It stops short of describing permissions or failure modes beyond the save_error field in the return shape.

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-loads the core action and non-destructive rationale, then adds differentiation, follow-up, and a return-shape block. Most sentences earn their place, though the run-on clause structure is dense enough that it could be split for readability.

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?

With no output schema present, the description supplies the full return shape including success, already_exists, saved, and save_error, plus idempotency, non-destructive semantics, sibling differentiation, and the static-switch caveat. Nothing an agent needs to call this correctly appears to be 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%, so the schema already documents all three parameters. The description only indirectly touches parameters by contrasting 'separate folder and name' with a single full asset path, adding marginal value over the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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 and resource (create a material instance / MIC from a parent material) and immediately characterizes the operation as the 'cheap, non-destructive way to re-skin' a material. It explicitly distinguishes itself from the sibling create_material_instance_constant by how each takes paths, so an agent can tell them apart without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative (create_material_instance_constant) and the condition that selects it (single full asset path vs separate folder and name). It also routes the agent to the follow-up tool set_material_instance_param_override for tuning and warns that static switches inherit from the parent and are set separately.

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