Skip to main content
Glama

create_material_parameter_collection_instance

Destructive

Reset a Material Parameter Collection Instance to its collection defaults for a specific world, discarding all per-world overrides. Use when you need to clear custom values.

Instructions

Give a world (the editor world by default) a fresh Material Parameter Collection Instance (MPCI: the transient per-world values of a collection asset) for collection_path, replacing the instance it had, so all its overrides are lost and values return to the collection defaults. Runtime only: nothing saved, no undo. The engine creates an instance on lookup, so already_existed comes back true and created false in practice. Rarely needed: set_mpci_scalar_parameter_value and set_mpci_vector_parameter_value create the instance themselves; get_mpci_info reads it.

Returns: { collection_path: string, world_name: string, is_valid: bool, already_existed: bool, created: bool }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
world_labelNoEmpty or "editor" for the editor world (the default); otherwise the UWorld name of a live world context, compared case-insensitively (first match)
collection_pathYesFull /Game path of the parent MPC

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.0
    • changedInput schema / properties / world_label / description
      Previous value: -"Optional world context label, default editor"New value: +"Empty or \"editor\" for the editor world (the default); otherwise the UWorld name of a live world context, compared case-insensitively (first match)"
  2. 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 flag destructiveHint=true and non-idempotent, and the description reinforces this with concrete consequences: existing overrides are lost, values reset to collection defaults, runtime only, nothing saved, no undo. It also discloses the surprising engine behavior that already_existed returns true and created false in practice, which annotations cannot convey.

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?

Purpose is front-loaded and the routing note to sibling tools is placed after the essential semantics. It is dense and slightly long, but with no output schema the trailing Returns enumeration earns its place rather than being padding.

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 destructive, runtime-only, two-parameter tool with no output schema, the description covers everything needed: scope, side effects (lost overrides, no undo), the practical already_existed/created caveat, and the alternative tools, plus an inline return shape.

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 both world_label (default editor world, case-insensitive first match) and collection_path (full /Game path of the parent MPC) are already documented in the schema. The description restates the editor-world default and collection_path but adds no new syntax or format detail, so the baseline 3 applies.

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 (create/give) and resource (a fresh Material Parameter Collection Instance for collection_path), and parenthetically defines what an MPCI is. It clearly distinguishes itself from sibling get_mpci_info and the set_mpci_* writers.

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?

Explicitly says it is 'Rarely needed' and names the alternatives: set_mpci_scalar_parameter_value and set_mpci_vector_parameter_value create the instance themselves, and get_mpci_info reads it. When-to-use and when-not-to-use are both spelled out.

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