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.
Discover the actual signature
Use list_toolsets, then describe the relevant fully qualified toolset. Replace the placeholder below with a name returned by that catalog:
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"describe_toolset","arguments":{"toolset_name":"<name returned by list_toolsets>"}}}
Call the selected tool using toolset_name, tool_name and arguments, as shown in the tools reference. Engine-backed authoring can use the hidden backend where supported; preview, viewport and interactive actions require their editor context. Compile and save explicitly, then verify the relevant runtime result.