Skip to main content
Glama

content_create_material

Creates a Flax surface Material asset through the live editor, saving it at a Content-relative .flax path with base color, roughness, metallic, and optional texture values.

Instructions

Creates a surface Material asset through the live Flax Editor. Paths are relative to Content/ and must end in .flax.

Input Schema

NameRequiredDescriptionDefault
metallicYesSurface metallic value in the 0-1 range.
uvTilingNoOptional positive UV tiling applied to supplied textures.
baseColorYesUniform RGBA base color, with every component in the 0-1 range.
roughnessYesSurface roughness in the 0-1 range.
relativePathYesDestination path relative to Content/, ending in .flax.
emissiveColorNoOptional emissive RGBA color, with every component in the 0-1 range.
normalTextureIdNoOptional normal-map FlaxEngine.Texture GUID.
baseColorTextureIdNoOptional FlaxEngine.Texture GUID used for base color.

Output Schema

NameRequiredDescriptionDefault
metallicYes
uvTilingYes
baseColorYes
roughnessYes
materialIdYes
parametersYes
mainThreadIdYes
materialPathYes
emissiveColorYes
normalTextureIdYes
baseColorTextureIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and mostly doesn't. 'Through the live Flax Editor' hints at an editor-session dependency, but it never says whether an existing asset at that path is overwritten or errors, whether the editor must be in a specific state, or what side effects occur — all critical for a create/mutate 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?

Two tight sentences, front-loaded with the action and followed by the one hard constraint. Nothing is padded or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter creation tool with nested color objects and optional texture GUIDs, the description is thin: it omits overwrite semantics, editor-session prerequisites, and how texture GUIDs are obtained (presumably via content_resolve_guid). The presence of an output schema excuses return-value documentation but not these gaps.

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 of 3 applies. The description only restates the relativePath constraint already documented in the schema and adds no meaning for the texture GUIDs, UV tiling, or emissive parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: creates a surface Material asset via the live Flax Editor. The qualifier 'surface' implicitly separates it from content_create_material_transparent, but the description never names that sibling or content_create_material_instance, so differentiation is left to inference.

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

Usage Guidelines2/5

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

No when-to-use guidance is given. The only constraint offered ('paths are relative to Content/ and must end in .flax') is a parameter rule, not a routing rule, and nothing tells the agent when to prefer this over content_create_material_transparent or content_create_material_instance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.