Authoring Materials with the Agent
The Material toolsets let the agent create materials and material instances, edit the material graph, and set parameters — so you can go from "make me a glowing red material" to a finished, assignable asset without opening the material editor.
What the agent can do
- Create materials at a content path, choosing a shading model and blend mode.
- Edit the graph — add expression nodes (constants, textures, scalar/vector parameters, math) and connect them to material outputs (Base Color, Metallic, Roughness, Emissive, Normal, etc.).
- Expose parameters so values can be overridden per instance.
- Create Material Instances from a parent material and set their parameter overrides.
- Assign materials to actors/meshes (via the Actors toolset) once created.
These tools are engine-reflected, so names follow the Verb+Noun pattern
(create / add / connect / set). Call describe_toolset on the Materials toolset
for exact signatures.
Typical workflows
Create a parameterized base material
"Create a material
/Game/Materials/M_Glow. Add a vector parameterColorand a scalar parameterIntensity, multiply them, and feed the result into Emissive. Set Base Color to a dark grey constant."
The agent creates the material, adds the parameter nodes, wires the multiply into the Emissive output, and saves it — ready to instance.
Spin up instances
"Make three instances of
M_Glow— red, green, blue — at Intensity 5."
The agent creates MI_Glow_Red/Green/Blue, overriding Color and Intensity on
each. No graph editing needed because the parameters already exist.
Tweak an existing material
"On
M_Glow, raise the default Intensity to 8 and add a Fresnel into Emissive."
Tips
- Expose what you want to tweak as parameters. Scalar/vector/texture parameters are what make Material Instances useful — ask the agent to parameterize values you plan to vary, rather than hard-coding constants.
- Match shading model to intent. Emissive glow, translucency, and subsurface need the right shading model/blend mode; state it up front.
- Instances are cheaper to iterate. Once a base material exposes parameters, prefer creating/editing instances over re-editing the graph.
- Save before assigning. The agent should save the material/instance before another tool assigns it to a mesh.
Example via call_tool
{ "method": "tools/call", "params": {
"name": "call_tool",
"arguments": {
"tool": "CreateMaterialInstance",
"args": {
"parent": "/Game/Materials/M_Glow",
"path": "/Game/Materials/MI_Glow_Red"
}
} } }
Tool/argument names are illustrative — confirm them with describe_toolset for
the Materials toolset in your editor.