Skip to main content

material kit

252 tools. Generated from the plugin source; do not edit by hand.

Guide​

Everything needed to author materials from an agent: create the asset, build the expression graph, expose parameters, derive instances, package logic into material functions, stack material layers (UE 5) and generate complete materials from a single call with the recipes.

Class map​

ClassWhat it covers
UUeaKit_Materialthe Material asset: creation, domain/blend/shading settings, usage flags, compile + statistics, textures, hierarchy, validation, expression-class discovery, graph JSON export
UUeaKit_MaterialGraphthe expression graph: list/find/move/delete nodes, connections, comments, every typed material.add_* factory, material.build_graph, parameter declarations
UUeaKit_MaterialInstanceMaterial Instance Constants: parameter overrides, base-property overrides, hierarchy, batch edits
UUeaKit_MaterialFunctionMaterial Functions: inputs/outputs, the exposed library, function instances, extraction and inlining
UUeaKit_MaterialLayersmaterial layers and layer blends (UE 5.0+, hidden on 4.27)
UUeaKit_MaterialRecipesone-call builders: PBR, emissive, masked, glass, decal, UI, post-process, water, landscape, checker, ...

All six share the kit name material, so edit.enable_kits {"kits":["material"]} exposes the lot.

Start here​

  1. material.list_recipes — see what can be built in one call.
  2. material.recipe_pbr {"folder":"/Game/Materials","name":"M_Rock","baseColor":"/Game/Tex/T_Rock_BC","normal":"/Game/Tex/T_Rock_N","roughness":"/Game/Tex/T_Rock_R","parameterize":true} creates a compiled, parameterised material and returns the node map.
  3. material.create_instance {"parent":"/Game/Materials/M_Rock","folder":"/Game/Materials","name":"MI_RockMossy","scalars":[{"name":"Roughness","value":0.8}]}.
  4. Need something custom? material.get_graph to see the current state, then material.build_graph to author nodes and links declaratively, then material.compile.

Recipe workflow (fastest path)​

Every recipe accepts either folder + name (creates the asset) or material (fills an existing one, clearing its graph first). parameterize: true (default) turns the inputs into material parameters in the group given by group, so one base material plus instances covers all variants.

material.recipe_checker {"folder":"/Game/Dev","name":"M_Checker","scale":16}
material.recipe_emissive {"folder":"/Game/FX","name":"M_Glow","color":{"r":0,"g":0.7,"b":1},"intensity":8,"pulse":2}
material.recipe_masked {"folder":"/Game/Foliage","name":"M_Leaf","texture":"/Game/Tex/T_Leaf","foliage":true}
material.recipe_from_texture_folder {"textureFolder":"/Game/Tex/Rock","folder":"/Game/Materials","name":"M_Rock","dryRun":true}

The reply's nodes maps a role (baseColor, normal, roughness, emissive, ...) to the expression object name, so follow-up edits can address the nodes directly.

Graph workflow​

  • Identify a node by its object name (MaterialExpressionMultiply_3), its description (set it with desc when creating, or material.set_node_desc), a #index, or a parameter name. Descriptions are the most readable and survive renames.
  • material.build_graph is the batch form: nodes[] with a local id and a kind (Multiply, TextureSample, ScalarParameter, ... — the class name without the MaterialExpression prefix), links[] with from/output/to/input. to may be a node id or a material property name (BaseColor, Roughness, EmissiveColor, OpacityMask, Normal, WorldPositionOffset, AmbientOcclusion, Refraction, PixelDepthOffset, CustomizedUV0..7, SubsurfaceColor, ...).
  • material.connect {"target":..., "node":"Mul", "to":"BaseColor"} for a property, "to":"OtherNode.A" for an expression input. material.connect_many batches them.
  • material.add_node is the escape hatch for any class the typed factories do not cover; use material.list_expression_classes / material.get_expression_class_info to discover names, pins and editable properties first.
  • material.arrange_nodes tidies the layout, material.add_comment_around documents a cluster.

Compiling​

Node tools do not recompile (compile defaults to false): shader compilation is the slow part. Batch the edits and call material.compile once. material.get_stats reads the current statistics without recompiling; material.get_compile_errors reports the per-expression errors of the last compile. On UE 4.27 RecompileMaterial returns nothing, so errors comes back empty there even when the material fails — check material.validate as well.

Instances​

  • material.get_instance returns every parameter with its value, the parent value and an overridden flag: the one call an agent needs before changing anything.
  • material.set_scalar / set_vector / set_texture / set_static_switch fail with E_NOT_FOUND when the name is not a parameter of the parent, which is the usual typo signal.
  • material.set_instance_overrides handles blend mode, shading model, two-sided, dithered LOD, opacity mask clip value and shadow flags. Pass "inherit" to drop an override.
  • Bulk work: material.create_instance_variants, material.batch_set_scalar, material.batch_set_texture, material.batch_reparent, material.copy_parameters.

Functions and the library​

material.create_function declares inputs and outputs in one call; the function's graph is then edited with the same node tools by passing the function asset as target. material.add_function_input and material.add_function_output add more declarations. material.list_function_library and material.list_engine_functions are the palette an agent can call from material.add_function_call. material.function_from_nodes extracts a selection of a material's expressions into a new function (and replaces them with a call); material.inline_function_call does the reverse.

Layers (UE 5.0+)​

material.create_layer / material.create_layer_blend make the assets, material.add_material_attribute_layers_node puts the stack host into a material, then material.set_layers / add_layer / remove_layer / reorder_layer / set_layer_visible edit the stack. Layer index 0 is the background layer and has no blend. On UE 4.27 these tools are not advertised at all.

Gotchas​

  • Compile cost. Keep compile: false on node tools; one material.compile at the end.
  • Sampler types. material.add_texture_sample with samplerType: "auto" derives the type from the texture. A normal map sampled as color compiles but looks wrong — material.get_texture_samplers lists the mismatches.
  • Parameter names are unique per material. Two declarations with the same name are a compile error; material.validate reports them as duplicate_parameter.
  • 4.27 vs 5.1+ input storage is transparent. The kit hides UMaterialEditorOnlyData, so "to":"BaseColor" works identically on both engines. Property names that only exist on one engine (RefractionMethod, outputTranslucentVelocity, Substrate) return E_NOT_SUPPORTED.
  • Named reroutes need UE 5.0. On 4.27 use material.add_reroute.
  • Math ops differ per engine. material.add_math accepts length, exp, log, modulo only from UE 5.x; on 4.27 the call returns E_NOT_SUPPORTED with the list of known operations.
  • material.clear_graph and material.delete_nodes are destructive and break every link that touched the removed expressions. Export first with material.export_graph if in doubt.
  • Names with spaces work for expression inputs ("to":"Blend.Layer Grass"); quote them in JSON as usual.

Tools​

Legend. risk 0 = read-only, 1 = harmless editor op, 2 = modifies asset, 3 = deletes/replaces asset, 4 = project/config/build op, 5 = potentially destructive (calls above MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

material.add_actor_position (risk 2, mutates, smoke)​

Adds an Actor Position (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_blackbody (risk 2, mutates, smoke)​

Adds a Blackbody node (colour of a temperature in kelvin).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_bump_offset (risk 2, mutates, smoke)​

Adds a Bump Offset (parallax) node.

ArgumentTypeDescription
heightRationumberDefault 0.05.
referencePlanenumberDefault 0.5.

Returns: node, target, errors.

material.add_camera_position (risk 2, mutates, smoke)​

Adds a Camera Position (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_camera_vector (risk 2, mutates, smoke)​

Adds a Camera Vector node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_collection_parameter (risk 2, mutates)​

Adds a Material Parameter Collection parameter node. SmokeSkip: it needs a Material Parameter Collection asset, which the sandbox does not provide.

ArgumentTypeDescription
collectionstringrequired. Material Parameter Collection asset.
namestringrequired. Parameter name inside the collection.

Returns: node, target, errors.

material.add_comment (risk 2, mutates, smoke)​

Adds a comment box to a graph.

ArgumentTypeDescription
targetstringrequired.
textstringrequired.
xintegerDefault 0.
yintegerDefault 0.
widthintegerDefault 400.
heightintegerDefault 200.
colorUeaMatColor

Returns: comment.

material.add_comment_around (risk 2, mutates, smoke)​

Adds a comment box sized to enclose the given expressions.

ArgumentTypeDescription
targetstringrequired.
textstringrequired.
nodesarray of stringrequired. Expressions to enclose.
paddingintegerExtra margin in graph units (default 40). Default 40.
colorUeaMatColor

Returns: comment.

material.add_component_mask (risk 2, mutates, smoke)​

Adds a Component Mask node.

ArgumentTypeDescription
rbooleanDefault true.
gbooleanDefault false.
bbooleanDefault false.
abooleanDefault false.

Returns: node, target, errors.

material.add_constant (risk 2, mutates, smoke)​

Adds a scalar constant.

ArgumentTypeDescription
valuenumberDefault 0.0.

Returns: node, target, errors.

material.add_constant2 (risk 2, mutates, smoke)​

Adds a two-component constant.

ArgumentTypeDescription
rnumberDefault 0.0.
gnumberDefault 0.0.

Returns: node, target, errors.

material.add_constant3 (risk 2, mutates, smoke)​

Adds a three-component (colour) constant.

ArgumentTypeDescription
colorUeaMatColor

Returns: node, target, errors.

material.add_constant4 (risk 2, mutates, smoke)​

Adds a four-component constant.

ArgumentTypeDescription
colorUeaMatColor

Returns: node, target, errors.

material.add_curve_atlas_row_parameter (risk 2, mutates, smoke)​

Adds a Curve Atlas Row Parameter node (the atlas and curve assets are optional).

ArgumentTypeDescription
namestringrequired.
atlasstringCurve Atlas asset.
curvestringCurve Linear Color asset inside the atlas.
groupstring

Returns: node, target, errors.

material.add_custom (risk 2, mutates, smoke)​

Adds a Custom HLSL node with named inputs and an output type.

ArgumentTypeDescription
codestringrequired. HLSL body; it must return a value of the declared output type.
outputTypestringfloat (default) / float2 / float3 / float4 / material_attributes.
inputsarray of stringInput names.
descriptionstringCaption of the node.
additionalOutputsarray of UeaMatCustomOutputExtra named outputs.
includesarray of string.ush files to include (5.x).
definesarray of UeaKeyValuePreprocessor defines as name=value pairs (5.x).

Returns: node, target, errors.

material.add_ddx (risk 2, mutates, smoke)​

Adds a DDX node (screen-space horizontal derivative).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_ddy (risk 2, mutates, smoke)​

Adds a DDY node (screen-space vertical derivative).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_depth_fade (risk 2, mutates, smoke)​

Adds a Depth Fade node.

ArgumentTypeDescription
fadeDistancenumberDefault 100.0.
opacitynumberDefault 1.0.

Returns: node, target, errors.

material.add_depth_of_field_function (risk 2, mutates, smoke)​

Adds a Depth Of Field Function node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_desaturation (risk 2, mutates, smoke)​

Adds a Desaturation node with luminance weights.

ArgumentTypeDescription
luminanceFactorsUeaMatColorLuminance weights (default 0.3/0.59/0.11).

Returns: node, target, errors.

material.add_distance_to_nearest_surface (risk 2, mutates, smoke)​

Adds a Distance To Nearest Surface node (needs distance fields).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_dynamic_parameter (risk 2, mutates, smoke)​

Adds a Dynamic Parameter node (four named channels driven by the particle system).

ArgumentTypeDescription
namesarray of stringNames of the four parameter channels.
indexintegerDefault 0.

Returns: node, target, errors.

material.add_eye_adaptation (risk 2, mutates, smoke)​

Adds an Eye Adaptation node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_feature_level_switch (risk 2, mutates, smoke)​

Adds a Feature Level Switch node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_fresnel (risk 2, mutates, smoke)​

Adds a Fresnel node.

ArgumentTypeDescription
exponentnumberDefault 5.0.
baseReflectFractionnumberDefault 0.04.

Returns: node, target, errors.

material.add_function_call (risk 2, mutates, smoke)​

Adds a Material Function Call node bound to a function asset.

ArgumentTypeDescription
functionstringrequired. Material Function asset, e.g. "/Engine/Functions/Engine_MaterialFunctions02/Utility/BlendAngleCorrectedNormals".

Returns: node, target, errors.

material.add_function_input (risk 2, mutates, smoke)​

Adds a Function Input node (material functions only).

ArgumentTypeDescription
namestringrequired.
typestringscalar / vector2 / vector3 / vector4 / texture2d / texture_cube / texture2d_array / volume_texture / static_bool / material_attributes / bool.
previewValueUeaMatColorPreview value used while editing the function.
sortPriorityintegerDefault 32.
usePreviewValueAsDefaultbooleanMake the preview value the default when the input is left unconnected. Default false.
descriptionstring

Returns: node, target, errors.

material.add_function_output (risk 2, mutates, smoke)​

Adds a Function Output node (material functions only).

ArgumentTypeDescription
namestringrequired.
sortPriorityintegerDefault 32.
descriptionstring

Returns: node, target, errors.

material.add_function_to_library (risk 2, mutates, smoke)​

Exposes a function in the material palette under the given categories (shortcut for set_function_settings).

ArgumentTypeDescription
functionstringrequired.
descriptionstring
exposeToLibrarystring"true" / "false"; empty keeps the current state.
categoriesarray of string

Returns: asset, description, exposeToLibrary, libraryCategories, inputs, outputs, nodeCount, users.

material.add_if (risk 2, mutates, smoke)​

Adds an If node (branch on a comparison).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_landscape_coords (risk 2, mutates, smoke)​

Adds a Landscape Layer Coords node (world-aligned landscape UVs).

ArgumentTypeDescription
mappingScalenumberDefault 1.0.
mappingTypestringauto / xy / xz / yz.

Returns: node, target, errors.

material.add_landscape_layer_blend (risk 2, mutates, smoke)​

Adds a Landscape Layer Blend node with its layer list.

ArgumentTypeDescription
layersarray of UeaMatLandscapeLayerrequired.

Returns: node, target, errors.

material.add_landscape_layer_sample (risk 2, mutates, smoke)​

Adds a Landscape Layer Sample node.

ArgumentTypeDescription
layerNamestringrequired.
previewWeightnumberDefault 1.0.
previewUsedbooleanPreview the "used" branch of a layer switch (default true). Default true.

Returns: node, target, errors.

material.add_landscape_layer_switch (risk 2, mutates, smoke)​

Adds a Landscape Layer Switch node.

ArgumentTypeDescription
layerNamestringrequired.
previewWeightnumberDefault 1.0.
previewUsedbooleanPreview the "used" branch of a layer switch (default true). Default true.

Returns: node, target, errors.

material.add_landscape_layer_weight (risk 2, mutates, smoke)​

Adds a Landscape Layer Weight node.

ArgumentTypeDescription
layerNamestringrequired.
previewWeightnumberDefault 1.0.
previewUsedbooleanPreview the "used" branch of a layer switch (default true). Default true.

Returns: node, target, errors.

material.add_layer (risk 2, mutates, UE 5.0+, smoke)​

Appends one layer (and its blend) to the stack of a material.

ArgumentTypeDescription
targetstringrequired.
layerstringMaterial layer function asset.
blendstringBlend function asset.
namestringDisplay name.

Returns: layers, total, node.

material.add_material_attribute_layers_node (risk 2, mutates, UE 5.0+, smoke)​

Adds a Material Attribute Layers expression to a material (the node that hosts the layer stack).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_material_attributes_node (risk 2, mutates, smoke)​

Adds a Make / Break / Set / Get Material Attributes node.

ArgumentTypeDescription
kindstringrequired. make / break / set / get.
attributesarray of stringAttribute names for the set/get variants ("BaseColor", "Roughness", ...).

Returns: node, target, errors.

material.add_math (risk 2, mutates, smoke)​

Adds a math expression by operation name (multiply, lerp, clamp, dot, append, ...).

ArgumentTypeDescription
opstringrequired. add, subtract, multiply, divide, lerp, power, clamp, one_minus, saturate, abs, sine, cosine, frac, floor, ceil, round, truncate, step, smoothstep, min, max, dot, cross, normalize, append, sqrt, distance, fmod, sign, arctangent, arctangent2, desaturation, if (5.x also exposes length, exp, log, log2, log10).
constAnumberConstant fallback of the A input, when the expression has one. Default 0.0.
constBnumberConstant fallback of the B input, when the expression has one. Default 1.0.

Returns: node, target, errors.

material.add_named_reroute (risk 2, mutates, UE 5.0+, smoke)​

Adds a named reroute declaration; usages reference it by name.

ArgumentTypeDescription
namestringrequired. Name of the reroute variable.

Returns: node, target, errors.

material.add_named_reroute_usage (risk 2, mutates, UE 5.0+, smoke)​

Adds a usage of an existing named reroute declaration.

ArgumentTypeDescription
namestringrequired. Name of the reroute variable.

Returns: node, target, errors.

material.add_node (risk 2, mutates, smoke)​

Adds any material expression class by name, optionally setting properties on it. The escape hatch for anything the typed factories do not cover.

ArgumentTypeDescription
classstringrequired. Expression class or short alias ("Multiply", "TextureSample", "MaterialExpressionFresnel").
propertiesarray of UeaKeyValueProperties to set on the new expression.

Returns: node, target, errors.

material.add_noise (risk 2, mutates, smoke)​

Adds a Noise node (procedural noise).

ArgumentTypeDescription
scalenumberDefault 1.0.
qualityintegerDefault 1.
functionstringsimplex / gradient / fast_gradient / value / voronoi.
levelsintegerDefault 6.
turbulencebooleanDefault true.

Returns: node, target, errors.

material.add_object_orientation (risk 2, mutates, smoke)​

Adds an Object Orientation node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_object_position (risk 2, mutates, smoke)​

Adds an Object Position (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_object_scale (risk 2, mutates, smoke)​

Adds an Object Bounds node: the world-space bounds of the object, which is how a material reads an object's scale (there is no dedicated ObjectScale expression; that one is a material function).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_panner (risk 2, mutates, smoke)​

Adds a Panner node (scrolls UVs over time).

ArgumentTypeDescription
speedXnumberDefault 0.0.
speedYnumberDefault 0.0.

Returns: node, target, errors.

material.add_particle_color (risk 2, mutates, smoke)​

Adds a Particle Color node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_particle_macro_uv (risk 2, mutates, smoke)​

Adds a Particle Macro UV node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_particle_position_ws (risk 2, mutates, smoke)​

Adds a Particle Position (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_particle_radius (risk 2, mutates, smoke)​

Adds a Particle Radius node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_particle_subuv (risk 2, mutates, smoke)​

Adds a Particle SubUV node (sprite sheet sampling).

ArgumentTypeDescription
texturestring
blendbooleanDefault true.

Returns: node, target, errors.

material.add_per_instance_custom_data (risk 2, mutates, smoke)​

Adds a Per Instance Custom Data node reading one float slot.

ArgumentTypeDescription
indexintegerIndex or slot (per-instance custom data index, light index, dynamic-parameter index). Default 0.

Returns: node, target, errors.

material.add_per_instance_fade_amount (risk 2, mutates, smoke)​

Adds a Per Instance Fade Amount node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_per_instance_random (risk 2, mutates, smoke)​

Adds a Per Instance Random node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_pixel_depth (risk 2, mutates, smoke)​

Adds a Pixel Depth node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_pixel_normal_ws (risk 2, mutates, smoke)​

Adds a Pixel Normal (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_previous_frame_switch (risk 2, mutates, smoke)​

Adds a Previous Frame Switch node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_quality_switch (risk 2, mutates, smoke)​

Adds a Quality Switch node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_ray_tracing_quality_switch (risk 2, mutates, smoke)​

Adds a Ray Tracing Quality Switch node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_reflection_vector (risk 2, mutates, smoke)​

Adds a Reflection Vector (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_reroute (risk 2, mutates, smoke)​

Adds a reroute node (a pass-through used to tidy long wires).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_rotator (risk 2, mutates, smoke)​

Adds a Rotator node (rotates UVs over time).

ArgumentTypeDescription
centerXnumberDefault 0.5.
centerYnumberDefault 0.5.
speednumberDefault 0.25.

Returns: node, target, errors.

material.add_runtime_virtual_texture_sample (risk 2, mutates, smoke)​

Adds a Runtime Virtual Texture Sample node.

ArgumentTypeDescription
virtualTexturestringRuntime Virtual Texture asset (optional).
materialTypestringbase_color / base_color_normal_roughness / base_color_normal_specular / world_height / ...

Returns: node, target, errors.

material.add_scalar_parameter (risk 2, mutates, smoke)​

Adds a scalar parameter with a group, default and slider range.

ArgumentTypeDescription
namestringrequired.
defaultValuenumberDefault 0.0.
groupstring
minnumberDefault 0.0.
maxnumberDefault 1.0.
sortPriorityintegerDefault 32.

Returns: node, target, errors.

material.add_scene_color (risk 2, mutates, smoke)​

Adds a Scene Color node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_scene_depth (risk 2, mutates, smoke)​

Adds a Scene Depth node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_scene_texture (risk 2, mutates, smoke)​

Adds a Scene Texture node (post-process domain).

ArgumentTypeDescription
idstringScene texture id, e.g. "PostProcessInput0", "SceneColor", "SceneDepth", "WorldNormal".
filteredbooleanDefault false.

Returns: node, target, errors.

material.add_screen_position (risk 2, mutates, smoke)​

Adds a Screen Position node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_shading_path_switch (risk 2, mutates, smoke)​

Adds a Shading Path Switch node (deferred / forward / mobile).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_sky_atmosphere_light_direction (risk 2, mutates, smoke)​

Adds a Sky Atmosphere Light Direction node.

ArgumentTypeDescription
indexintegerIndex or slot (per-instance custom data index, light index, dynamic-parameter index). Default 0.

Returns: node, target, errors.

material.add_sphere_mask (risk 2, mutates, smoke)​

Adds a Sphere Mask node.

ArgumentTypeDescription
attenuationRadiusnumberDefault 256.0.
hardnessPercentnumberDefault 100.0.

Returns: node, target, errors.

material.add_static_bool (risk 2, mutates, smoke)​

Adds a static bool constant.

ArgumentTypeDescription
defaultValuebooleanDefault true.

Returns: node, target, errors.

material.add_static_switch (risk 2, mutates, smoke)​

Adds a static switch (compile-time branch driven by a static bool).

ArgumentTypeDescription
defaultValuebooleanDefault true.

Returns: node, target, errors.

material.add_static_switch_parameter (risk 2, mutates, smoke)​

Adds a static switch parameter (compile-time branch exposed to instances).

ArgumentTypeDescription
namestringrequired.
defaultValuebooleanDefault true.
groupstring

Returns: node, target, errors.

material.add_texture_coordinate (risk 2, mutates, smoke)​

Adds a Texture Coordinate node with a UV channel and tiling.

ArgumentTypeDescription
indexintegerUV channel (default 0). Default 0.
uTilingnumberDefault 1.0.
vTilingnumberDefault 1.0.

Returns: node, target, errors.

material.add_texture_object (risk 2, mutates, smoke)​

Adds a Texture Object node (a texture reference passed into a material function).

ArgumentTypeDescription
texturestringTexture asset, e.g. "/Engine/EngineResources/DefaultTexture".
samplerTypestringauto (from the texture) / color / linear_color / normal / masks / alpha / grayscale / linear_grayscale / distance_field / virtual_color / virtual_normal / virtual_masks.
mipValueModestringnone / mip_level / mip_bias / derivative.
uvNodestringExpression to plug into the Coordinates input.

Returns: node, target, errors.

material.add_texture_object_parameter (risk 2, mutates, smoke)​

Adds a Texture Object Parameter node.

ArgumentTypeDescription
namestringrequired.
groupstring

Returns: node, target, errors.

material.add_texture_parameter (risk 2, mutates, smoke)​

Adds a Texture Sample Parameter (a texture slot instances can override).

ArgumentTypeDescription
namestringrequired.
groupstring

Returns: node, target, errors.

material.add_texture_property (risk 2, mutates, smoke)​

Adds a Texture Property node (texture size or texel size).

ArgumentTypeDescription
texturestringTexture asset to read the property from.
propertystringtexture_size (default) or texel_size.

Returns: node, target, errors.

material.add_texture_sample (risk 2, mutates, smoke)​

Adds a Texture Sample node with a texture, sampler type and optional UV source.

ArgumentTypeDescription
texturestringTexture asset, e.g. "/Engine/EngineResources/DefaultTexture".
samplerTypestringauto (from the texture) / color / linear_color / normal / masks / alpha / grayscale / linear_grayscale / distance_field / virtual_color / virtual_normal / virtual_masks.
mipValueModestringnone / mip_level / mip_bias / derivative.
uvNodestringExpression to plug into the Coordinates input.

Returns: node, target, errors.

material.add_time (risk 2, mutates, smoke)​

Adds a Time node.

ArgumentTypeDescription
ignorePausebooleanDefault false.
periodnumberPeriod to wrap the time value with (0 = no wrapping). Default 0.0.

Returns: node, target, errors.

material.add_transform (risk 2, mutates, smoke)​

Adds a Transform node (converts a vector between tangent/local/world/view spaces).

ArgumentTypeDescription
sourcestringtangent / local / world / view / camera / particle (position nodes: local / world / translated_world / view / camera / particle).
destinationstringDestination space, same vocabulary as "source".

Returns: node, target, errors.

material.add_transform_position (risk 2, mutates, smoke)​

Adds a Transform Position node.

ArgumentTypeDescription
sourcestringtangent / local / world / view / camera / particle (position nodes: local / world / translated_world / view / camera / particle).
destinationstringDestination space, same vocabulary as "source".

Returns: node, target, errors.

material.add_two_sided_sign (risk 2, mutates, smoke)​

Adds a Two Sided Sign node (+1 on the front face, -1 on the back face).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_vector_noise (risk 2, mutates, smoke)​

Adds a Vector Noise node.

ArgumentTypeDescription
functionstringcellnoise / perlin_3d / perlin_gradient / perlin_curl / voronoi.

Returns: node, target, errors.

material.add_vector_parameter (risk 2, mutates, smoke)​

Adds a vector (colour) parameter.

ArgumentTypeDescription
namestringrequired.
colorUeaMatColor
groupstring
sortPriorityintegerDefault 32.

Returns: node, target, errors.

material.add_vertex_color (risk 2, mutates, smoke)​

Adds a Vertex Color node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_vertex_interpolator (risk 2, mutates, smoke)​

Adds a Vertex Interpolator node (moves a computation to the vertex shader).

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_vertex_normal_ws (risk 2, mutates, smoke)​

Adds a Vertex Normal (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_vertex_tangent_ws (risk 2, mutates, smoke)​

Adds a Vertex Tangent (world space) node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_view_size (risk 2, mutates, smoke)​

Adds a View Size node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_virtual_texture_feature_switch (risk 2, mutates, smoke)​

Adds a Virtual Texture Feature Switch node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.add_world_position (risk 2, mutates, smoke)​

Adds a World Position node.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset to add the expression to.
xintegerDefault 0.
yintegerDefault 0.
descstringOptional description; it becomes a stable selector for later calls.
compilebooleanRecompile the material afterwards (default false; compile once at the end). Default false.

Returns: node, target, errors.

material.arrange_nodes (risk 2, mutates, smoke)​

Auto-arranges the expressions of a material or function graph.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset path / unique name.

Returns: count, items.

material.batch_reparent (risk 3, mutates, smoke)​

Reparents several instances at once.

ArgumentTypeDescription
instancesarray of stringrequired.
newParentstringrequired.

Returns: count, items.

material.batch_set_scalar (risk 2, mutates, smoke)​

Sets the same scalar parameter on every instance of a list or a folder.

ArgumentTypeDescription
instancesarray of stringInstances to change; leave empty to use "folder".
folderstringContent folder whose instances are changed.
namestringrequired.
valuenumberScalar value (material.batch_set_scalar). Default 0.0.
texturestringTexture asset (material.batch_set_texture).

Returns: count, items.

material.batch_set_texture (risk 2, mutates, smoke)​

Sets the same texture parameter on every instance of a list or a folder.

ArgumentTypeDescription
instancesarray of stringInstances to change; leave empty to use "folder".
folderstringContent folder whose instances are changed.
namestringrequired.
valuenumberScalar value (material.batch_set_scalar). Default 0.0.
texturestringTexture asset (material.batch_set_texture).

Returns: count, items.

material.build_graph (risk 3, mutates, smoke)​

Builds a whole expression graph from a node list and a link list in one call; the fastest way to author a material.

ArgumentTypeDescription
targetstringrequired.
nodesarray of UeaMatBuildNoderequired. Expressions to create.
linksarray of UeaMatLinkLinks between the new nodes and to material properties.
replacebooleanDelete the existing expressions first. Default false.
layoutbooleanAuto-arrange the graph afterwards (default true). Default true.
compilebooleanRecompile afterwards (default true). Default true.

Returns: nodes, links, comments, nodeCount, linkCount, target.

material.clear_all_parameters (risk 5, mutates, destructive, smoke)​

Removes every override of an instance.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant asset.

Returns: parameters, total, overriddenCount.

material.clear_graph (risk 5, mutates, destructive, smoke)​

Deletes every expression and comment of a graph.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset path / unique name.

Returns: count, items.

material.clear_parameter (risk 2, mutates, smoke)​

Removes one override so the parameter inherits the parent value again.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.

Returns: parameters, total, overriddenCount.

material.compare_instances (risk 0, smoke)​

Compares the overrides of two instances.

ArgumentTypeDescription
astringrequired.
bstringrequired.

Returns: identical, differences, onlyInA, onlyInB, sameParent.

material.compile (risk 2, mutates, smoke)​

Recompiles a material (or the base material of an instance) and returns the compile errors and the new statistics. Slow: call it once after a batch of graph edits.

ArgumentTypeDescription
materialstringrequired. Material or material instance asset.

Returns: errors, warnings, errorCount, stats.

material.connect (risk 2, mutates, smoke)​

Connects an expression output to a material property ("BaseColor") or to another expression input ("Node.Input").

ArgumentTypeDescription
targetstringrequired.
nodestringrequired. Source expression.
outputstringOutput name or index (default the first output).
tostringrequired. Material property ("BaseColor", "Roughness", "CustomizedUV0", ...) or "OtherNode.Input".
compilebooleanRecompile after the change (default false). Default false.

Returns: node, target, errors.

material.connect_many (risk 2, mutates, smoke)​

Makes several connections in one call; reports the ones that failed.

ArgumentTypeDescription
targetstringrequired.
linksarray of UeaMatLinkrequired.
compilebooleanRecompile after the change (default false). Default false.

Returns: count, items.

material.copy_parameters (risk 2, mutates, smoke)​

Copies parameter overrides from one instance (or material) to another.

ArgumentTypeDescription
fromstringrequired. Source instance or material.
tostringrequired. Destination instance.
onlyOverriddenbooleanOnly copy the parameters the source overrides (default true). Default true.

Returns: parameters, total, overriddenCount.

material.create (risk 2, mutates, smoke)​

Creates a Material asset with a domain, blend mode and shading model; optionally copies another material as a template. Returns its settings.

ArgumentTypeDescription
folderstringrequired. Destination content folder, e.g. "/Game/Materials".
namestringrequired. Asset name without path.
domainstringsurface (default) / deferred_decal / light_function / volume / post_process / ui / runtime_virtual_texture.
blendModestringopaque (default) / masked / translucent / additive / modulate / alpha_composite / alpha_holdout.
shadingModelstringdefault_lit (default) / unlit / subsurface / preintegrated_skin / clear_coat / subsurface_profile / two_sided_foliage / hair / cloth / eye / single_layer_water / thin_translucent / from_material_expression.
twoSidedbooleanRender both faces. Default false.
opacityMaskClipValuenumberAlpha threshold of masked materials (default 0.3333). Default 0.3333.
templatestringMaterial to copy the expression graph and settings from.
compilebooleanRecompile after creation (default true). Default true.
savebooleanSave the package to disk. Default false.

Returns: asset, settings, connectedProperties, stats, errors.

material.create_function (risk 2, mutates, smoke)​

Creates a Material Function with the given input and output declarations, optionally exposing it to the material palette.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
descriptionstring
exposeToLibrarybooleanPublish the function in the material palette. Default false.
libraryCategoriesarray of stringPalette categories when exposed.
inputsarray of UeaMatFunctionParamInput declarations to create.
outputsarray of stringOutput names to create.
savebooleanDefault false.

Returns: asset, description, exposeToLibrary, libraryCategories, inputs, outputs, nodeCount, users.

material.create_function_instance (risk 2, mutates, smoke)​

Creates a Material Function Instance from a function (or a material layer / layer blend).

ArgumentTypeDescription
functionstringrequired. Parent material function (or layer / layer blend).
folderstringrequired.
namestringrequired.
scalarsarray of UeaMatScalarValue
vectorsarray of UeaMatVectorValue
texturesarray of UeaMatTextureValue

Returns: asset, errors, notes.

material.create_instance (risk 2, mutates, smoke)​

Creates a Material Instance Constant from a parent material or instance, applying the given parameter overrides.

ArgumentTypeDescription
parentstringrequired. Parent material or material instance.
folderstringrequired.
namestringrequired.
scalarsarray of UeaMatScalarValue
vectorsarray of UeaMatVectorValue
texturesarray of UeaMatTextureValue
switchesarray of UeaMatSwitchValue
compilebooleanUpdate the instance's shaders after the overrides (default true). Default true.
savebooleanDefault false.

Returns: asset, parent, parentChain, baseMaterial, parameters, overriddenCount, overrides.

material.create_instance_variants (risk 2, mutates, smoke)​

Creates several instances of the same parent, one per variant, each with its own overrides.

ArgumentTypeDescription
parentstringrequired.
folderstringrequired.
variantsarray of UeaMatVariantrequired.
savebooleanDefault false.

Returns: assets, total.

material.create_layer (risk 2, mutates, UE 5.0+, smoke)​

Creates a Material Layer function asset.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
descriptionstring
savebooleanDefault false.

Returns: asset, errors, notes.

material.create_layer_blend (risk 2, mutates, UE 5.0+, smoke)​

Creates a Material Layer Blend function asset.

ArgumentTypeDescription
folderstringrequired.
namestringrequired.
descriptionstring
savebooleanDefault false.

Returns: asset, errors, notes.

material.delete (risk 3, mutates, destructive, smoke)​

Deletes a material asset. References to it are broken.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: count, items.

material.delete_function (risk 3, mutates, destructive, smoke)​

Deletes a material function.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: count, items.

material.delete_instance (risk 3, mutates, destructive, smoke)​

Deletes a material instance.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant asset.

Returns: count, items.

material.delete_node (risk 3, mutates, smoke)​

Deletes one expression and breaks every link that touched it.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired. Expression object name, description, "#index" or parameter name.

Returns: count, items.

material.delete_nodes (risk 3, mutates, destructive, smoke)​

Deletes several expressions at once.

ArgumentTypeDescription
targetstringrequired.
nodesarray of stringrequired. Expression selectors.

Returns: count, items.

material.disconnect (risk 2, mutates, smoke)​

Breaks the connection feeding a material property or an expression input.

ArgumentTypeDescription
targetstringrequired.
tostringrequired. Material property ("BaseColor") or "Node.Input".
compilebooleanRecompile after the change (default false). Default false.

Returns: count, items.

material.disconnect_node (risk 2, mutates, smoke)​

Breaks every link that reaches or leaves an expression.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
outgoingbooleanAlso unplug the expressions this one feeds (default true). Default true.
incomingbooleanAlso unplug this expression's own inputs (default true). Default true.

Returns: count, items.

material.duplicate (risk 2, mutates, smoke)​

Duplicates a material into a folder under a new name.

ArgumentTypeDescription
materialstringrequired. Source asset.
folderstringrequired. Destination folder.
namestringrequired. Name of the copy.

Returns: asset, errors, notes.

material.duplicate_function (risk 2, mutates, smoke)​

Duplicates a material function.

ArgumentTypeDescription
materialstringrequired. Source asset.
folderstringrequired. Destination folder.
namestringrequired. Name of the copy.

Returns: asset, errors, notes.

material.duplicate_instance (risk 2, mutates, smoke)​

Duplicates a material instance.

ArgumentTypeDescription
materialstringrequired. Source asset.
folderstringrequired. Destination folder.
namestringrequired. Name of the copy.

Returns: asset, errors, notes.

material.duplicate_node (risk 2, mutates, smoke)​

Duplicates an expression, offset from the original; the copy keeps the property values, not the links.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
offsetXintegerX offset of the copy (default 40). Default 40.
offsetYintegerY offset of the copy (default 40). Default 40.

Returns: node, target, errors.

material.export_function_graph (risk 0, smoke)​

Exports a function graph as JSON (same format as material.export_graph).

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: json, nodeCount, linkCount.

material.export_graph (risk 0, smoke)​

Exports the whole expression graph plus the material settings as a JSON document (feed it back to material.import_graph).

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: json, nodeCount, linkCount.

material.find_by_expression_class (risk 0, smoke)​

Materials whose graph contains an expression of a given class.

ArgumentTypeDescription
referencestringrequired. Texture, function or expression class to look for.
folderstringContent folder to search (default "/Game").
limitintegerMaximum results (default 100). Default 100.

Returns: assets, total.

material.find_by_texture (risk 0, smoke)​

Materials whose graph samples a given texture.

ArgumentTypeDescription
referencestringrequired. Texture, function or expression class to look for.
folderstringContent folder to search (default "/Game").
limitintegerMaximum results (default 100). Default 100.

Returns: assets, total.

material.find_instances_using_texture (risk 0, smoke)​

Material instances referencing a texture through one of their texture parameters.

ArgumentTypeDescription
referencestringrequired. Texture, function or expression class to look for.
folderstringContent folder to search (default "/Game").
limitintegerMaximum results (default 100). Default 100.

Returns: assets, total.

material.find_node (risk 0, smoke)​

Searches expressions by description, caption, class or parameter name.

ArgumentTypeDescription
targetstringrequired.
querystringText matched against the object name, description, caption, class and parameter name.
classstringRestrict to one expression class.
limitintegerDefault 50.

Returns: nodes, total, target.

material.function_from_nodes (risk 3, mutates)​

Moves a selection of expressions of a material into a new material function, wiring inputs and outputs from the links that crossed the selection. SmokeSkip: it needs an existing multi-node selection in a material, which the sandbox chain only builds in a later class.

ArgumentTypeDescription
materialstringrequired. Source material.
nodesarray of stringrequired. Expressions to move into the function.
folderstringrequired.
namestringrequired.
replaceWithCallbooleanReplace the extracted expressions with a call to the new function (default true). Default true.

Returns: asset, description, exposeToLibrary, libraryCategories, inputs, outputs, nodeCount, users.

material.get (risk 0, smoke)​

Settings, connected material properties and shader statistics of a material.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: asset, settings, connectedProperties, stats, errors.

material.get_compile_errors (risk 0, smoke)​

Compile errors of a material's current shader map, without triggering a recompile.

ArgumentTypeDescription
materialstringrequired. Material or material instance asset.

Returns: errors, warnings, errorCount, stats.

material.get_dynamic_instances (risk 0, requires world, smoke)​

Actors of the current level whose components use a dynamic instance created from this material or instance.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: values, total.

material.get_expression_class_info (risk 0, smoke)​

Pins, categories and editable properties of one material expression class.

ArgumentTypeDescription
classstringrequired. Expression class name or short alias ("Multiply", "MaterialExpressionMultiply").

Returns: info.

material.get_function (risk 0, smoke)​

Inputs, outputs, node count, library flags and users of a material function.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: asset, description, exposeToLibrary, libraryCategories, inputs, outputs, nodeCount, users.

material.get_function_inputs (risk 0, smoke)​

Input declarations of a material function.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: params, total.

material.get_function_outputs (risk 0, smoke)​

Output declarations of a material function.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: params, total.

material.get_graph (risk 0, smoke)​

Nodes and links of a graph in one payload: the overview an agent needs before editing.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset path / unique name.

Returns: nodes, links, comments, nodeCount, linkCount, target.

material.get_hierarchy (risk 0, smoke)​

Instances derived from a material, the material functions it calls and the textures it uses.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: instances, functions, textures.

material.get_input_source (risk 0, smoke)​

Expression and output feeding a material property or an expression input.

ArgumentTypeDescription
targetstringrequired.
tostringrequired. Material property ("BaseColor") or "Node.Input".

Returns: connected, fromNode, fromClass, fromOutput, fromOutputName.

material.get_instance (risk 0, smoke)​

Parent chain, every parameter with its value, its parent value and whether the instance overrides it.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant asset.

Returns: asset, parent, parentChain, baseMaterial, parameters, overriddenCount, overrides.

material.get_instance_chain (risk 0, smoke)​

Parent chain of an instance, from the instance itself up to the base material.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant asset.

Returns: chain, baseMaterial.

material.get_instance_overrides (risk 0, smoke)​

Base-property overrides currently active on an instance.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant asset.

Returns: overrides, active.

material.get_layer_parameters (risk 0, UE 5.0+, smoke)​

Parameters exposed by the layers of a material instance, per layer.

ArgumentTypeDescription
instancestringrequired.
layerIndexintegerLayer index; negative lists every layer. Default -1.

Returns: parameters, total, overriddenCount.

material.get_layers (risk 0, UE 5.0+, smoke)​

Layer stack of a material (from its layers expression) or of a material instance (from its static parameters).

ArgumentTypeDescription
targetstringrequired. Material or Material Instance that owns the layer stack.

Returns: layers, total, node.

material.get_node (risk 0, smoke)​

One expression with its position, description, inputs and outputs.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired. Expression object name, description, "#index" or parameter name.

Returns: node, target, errors.

material.get_node_inputs (risk 0, smoke)​

Input pins of an expression with what feeds them.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired. Expression object name, description, "#index" or parameter name.

Returns: node, target, errors.

material.get_node_outputs (risk 0, smoke)​

Output pins of an expression.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired. Expression object name, description, "#index" or parameter name.

Returns: node, target, errors.

material.get_node_property (risk 0, smoke)​

Reads one property of an expression as text.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
propertystringrequired. Property name on the expression class, e.g. "Texture", "SamplerType", "ConstCoordinate".
valuestringNew value in text form (numbers, enum names, asset paths).

Returns: value, overridden, parentValue.

material.get_parameter_info (risk 0, smoke)​

Type, group, sort priority, parent default and override state of one parameter.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.

Returns: parameter.

material.get_properties_connected (risk 0, smoke)​

Material properties (BaseColor, Roughness, ...) currently driven by an expression.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: values, total.

material.get_scalar (risk 0, smoke)​

Value of one scalar parameter, with the parent value and whether it is overridden.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.

Returns: value, overridden, parentValue.

material.get_static_switch (risk 0, smoke)​

Value of one static switch parameter.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.

Returns: value, overridden, parentValue.

material.get_stats (risk 0, smoke)​

Shader instruction counts, sampler and interpolator usage of a material or instance, without recompiling.

ArgumentTypeDescription
materialstringrequired. Material or material instance asset.

Returns: stats, material.

material.get_texture (risk 0, smoke)​

Value of one texture parameter.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.

Returns: value, overridden, parentValue.

material.get_texture_samplers (risk 0, smoke)​

Texture sampler nodes of a material with the sampler type they declare and the one their texture implies.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: samplers, total, mismatchCount.

material.get_vector (risk 0, smoke)​

Value of one vector parameter.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.

Returns: value, overridden, parentValue.

material.import_function_graph (risk 3, mutates)​

Rebuilds a function graph from JSON. SmokeSkip: the argument is a nested JSON document, which cannot be expressed in smoke metadata.

ArgumentTypeDescription
materialstringrequired.
jsonstringrequired. JSON produced by material.export_graph.
replacebooleanDelete the existing expressions first (default true). Default true.
compilebooleanRecompile after the import (default true). Default true.

Returns: nodes, links, comments, nodeCount, linkCount, target.

material.import_graph (risk 3, mutates)​

Rebuilds a material's graph from a JSON document produced by material.export_graph. SmokeSkip: the argument is a nested JSON document, which cannot be expressed in smoke metadata.

ArgumentTypeDescription
materialstringrequired.
jsonstringrequired. JSON produced by material.export_graph.
replacebooleanDelete the existing expressions first (default true). Default true.
compilebooleanRecompile after the import (default true). Default true.

Returns: nodes, links, comments, nodeCount, linkCount, target.

material.inline_function_call (risk 3, mutates)​

Expands a Material Function Call node into the calling graph. SmokeSkip: it needs an existing function-call node, which the sandbox chain only creates in a later class.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired. The MaterialFunctionCall expression to expand.

Returns: nodes, links, comments, nodeCount, linkCount, target.

material.is_connected (risk 0, smoke)​

True when a material property or an expression input is driven by something.

ArgumentTypeDescription
targetstringrequired.
tostringrequired. Material property ("BaseColor") or "Node.Input".

Returns: value, detail.

material.list (risk 0, smoke)​

Lists Material assets under a folder, filtered by domain, blend mode and name.

ArgumentTypeDescription
folderstringContent folder to search (default "/Game").
domainstringOnly materials with this domain.
blendModestringOnly materials with this blend mode.
nameContainsstringName substring filter.
recursivebooleanSearch subfolders (default true). Default true.
limitintegerMaximum results (default 200). Default 200.

Returns: assets, total.

material.list_comments (risk 0, smoke)​

Comment boxes of a graph.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset path / unique name.

Returns: comments, total.

material.list_engine_functions (risk 0, smoke)​

Material functions shipped with the engine, by category (cached asset-registry query).

ArgumentTypeDescription
folderstringContent folder (default "/Game").
exposedOnlybooleanOnly functions exposed to the material palette. Default false.
categorystringLibrary category filter.
nameContainsstring
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: functions, total, categories.

material.list_expression_classes (risk 0, smoke)​

Every material expression class available on this engine with its pins and editable properties. Use it before material.add_node.

ArgumentTypeDescription
nameContainsstringName substring filter (e.g. "texture").
categorystringEditor category filter (e.g. "Math").
limitintegerMaximum results (default 200). Default 200.

Returns: classes, total.

material.list_function_library (risk 0, smoke)​

The material function palette: every exposed function grouped by category, with its inputs and outputs.

ArgumentTypeDescription
folderstringContent folder (default "/Game").
exposedOnlybooleanOnly functions exposed to the material palette. Default false.
categorystringLibrary category filter.
nameContainsstring
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: functions, total, categories.

material.list_function_users (risk 0, smoke)​

Materials and functions that call a given function.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: assets, total.

material.list_functions (risk 0, smoke)​

Lists Material Function assets under a folder, optionally only the exposed ones.

ArgumentTypeDescription
folderstringContent folder (default "/Game").
exposedOnlybooleanOnly functions exposed to the material palette. Default false.
categorystringLibrary category filter.
nameContainsstring
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: assets, total.

material.list_instance_parameters (risk 0, smoke)​

Parameters of an instance, optionally only the ones it overrides.

ArgumentTypeDescription
instancestringrequired.
overriddenOnlybooleanOnly parameters this instance overrides. Default false.
typestringOnly parameters of this type (scalar / vector / texture / switch).

Returns: parameters, total, overriddenCount.

material.list_instances (risk 0, smoke)​

Lists Material Instance Constants, optionally only those derived from a given parent.

ArgumentTypeDescription
parentstringOnly instances derived from this material or instance.
folderstringContent folder (default "/Game").
recursivebooleanDefault true.
includeIndirectbooleanInclude grandchildren of the parent (default true). Default true.
limitintegerDefault 200.

Returns: assets, total.

material.list_layer_blends (risk 0, UE 5.0+, smoke)​

Lists Material Layer Blend assets under a folder.

ArgumentTypeDescription
folderstringContent folder (default "/Game").
exposedOnlybooleanOnly functions exposed to the material palette. Default false.
categorystringLibrary category filter.
nameContainsstring
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: assets, total.

material.list_layers (risk 0, UE 5.0+, smoke)​

Lists Material Layer assets under a folder.

ArgumentTypeDescription
folderstringContent folder (default "/Game").
exposedOnlybooleanOnly functions exposed to the material palette. Default false.
categorystringLibrary category filter.
nameContainsstring
recursivebooleanDefault true.
limitintegerDefault 200.

Returns: assets, total.

material.list_nodes (risk 0, smoke)​

Expressions of a material or function graph, with their pins and connections.

ArgumentTypeDescription
targetstringrequired.
classFilterstringOnly expressions of this class ("TextureSample", "MaterialExpressionMultiply").
nameContainsstringName/desc/caption substring filter.
limitintegerMaximum results (default 500). Default 500.

Returns: nodes, total, target.

material.list_parameters (risk 0, smoke)​

Parameters declared by a material or material function graph, with group, default and slider range.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset.
typestringOnly parameters of this type (scalar / vector / texture / switch).
groupstringOnly parameters of this group.

Returns: parameters, total, groups.

material.list_recipes (risk 0, smoke)​

Lists the recipes of this kit with the kind of material each produces.

No arguments.

Returns: recipes, total.

material.list_textures (risk 0, smoke)​

Textures referenced by a material's graph.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: textures, total.

material.list_usages (risk 0, smoke)​

Every bUsedWith* flag this engine supports and the ones enabled on the material.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: available, enabled.

material.move_node (risk 2, mutates, smoke)​

Moves one expression to an absolute graph position.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
xintegerDefault 0.
yintegerDefault 0.

Returns: node, target, errors.

material.move_nodes (risk 2, mutates, smoke)​

Moves several expressions (or the whole graph) by a delta.

ArgumentTypeDescription
targetstringrequired.
nodesarray of stringExpressions to move; empty moves the whole graph.
dxintegerDefault 0.
dyintegerDefault 0.

Returns: count, items.

material.recipe_checker (risk 2, mutates, smoke)​

Procedural checkerboard, no textures needed. The quickest sanity-check material.

ArgumentTypeDescription
colorAUeaMatColor
colorBUeaMatColor
scalenumberDefault 8.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_cloth (risk 2, mutates, smoke)​

Cloth shading model with a fuzz colour and amount.

ArgumentTypeDescription
baseColorstring
baseColorTintUeaMatColor
normalstring
roughnessnumberDefault 0.5.
subsurfaceColorUeaMatColorSubsurface / fuzz colour depending on the recipe.
amountnumberCloth fuzz amount or subsurface opacity. Default 0.5.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_decal (risk 2, mutates, smoke)​

Deferred decal material with base colour, normal and opacity.

ArgumentTypeDescription
baseColorstring
tintUeaMatColor
normalstring
opacityTexturestringTexture whose alpha drives the decal opacity.
opacitynumberDefault 1.0.
dbufferbooleanUse a DBuffer decal blend mode. Default false.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_dissolve (risk 2, mutates, smoke)​

Dissolve effect: a noise source drives an opacity mask with a glowing edge.

ArgumentTypeDescription
baseColorstring
baseColorTintUeaMatColor
noiseTexturestringNoise texture; when empty a procedural Noise node is used.
amountnumberInitial dissolve amount (0..1). Default 0.5.
edgeColorUeaMatColor
edgeWidthnumberDefault 0.05.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_emissive (risk 2, mutates, smoke)​

Emissive material with an intensity and an optional sine pulse.

ArgumentTypeDescription
colorUeaMatColor
intensitynumberDefault 5.0.
pulsenumberPulse speed; 0 disables the animation. Default 0.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_flipbook (risk 2, mutates, smoke)​

Flipbook animation over a sprite-sheet texture (columns x rows at a frame rate).

ArgumentTypeDescription
texturestring
columnsintegerDefault 4.
rowsintegerDefault 4.
fpsnumberDefault 15.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_from_texture_folder (risk 2, mutates, dryRun, smoke)​

Detects a T_*_BC / _N / _ORM / _R texture set in a folder and builds the matching PBR material.

ArgumentTypeDescription
textureFolderstringrequired. Folder holding the texture set.
nameContainsstringOnly textures whose name contains this.
dryRunbooleanReport the detected mapping without creating anything. Default false.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_glass (risk 2, mutates, smoke)​

Glass: translucent, low roughness, Fresnel-driven opacity and an index of refraction.

ArgumentTypeDescription
tintUeaMatColor
roughnessnumberDefault 0.05.
iornumberDefault 1.52.
opacitynumberDefault 0.1.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_gradient (risk 2, mutates, smoke)​

Two-colour gradient along the U or V axis.

ArgumentTypeDescription
colorAUeaMatColor
colorBUeaMatColor
axisstringu (default) or v.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_hologram (risk 2, mutates, smoke)​

Hologram: translucent scanlines scrolling over an emissive tint.

ArgumentTypeDescription
colorUeaMatColor
scanlineDensitynumberDefault 40.0.
speednumberDefault 0.5.
opacitynumberDefault 0.6.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_landscape (risk 2, mutates, smoke)​

Landscape material blending several layers with a Landscape Layer Blend node.

ArgumentTypeDescription
layersarray of UeaMatRecipeLandscapeLayerrequired.
blendTypestringweight (default) / alpha / height.
macroVariationbooleanAdd a large-scale noise variation on top of the blend. Default false.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_masked (risk 2, mutates, smoke)​

Masked (cutout) material driven by a texture alpha; optionally two-sided foliage.

ArgumentTypeDescription
texturestringTexture whose alpha drives the mask (and whose RGB drives base colour).
maskTexturestringSeparate opacity-mask texture.
clipValuenumberDefault 0.3333.
twoSidedbooleanDefault true.
foliagebooleanUse the two-sided foliage shading model with this subsurface colour. Default false.
subsurfaceColorUeaMatColor

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_panner (risk 2, mutates, smoke)​

Scrolling texture (Panner) feeding base colour.

ArgumentTypeDescription
texturestring
speedXnumberDefault 0.1.
speedYnumberDefault 0.0.
tilingnumberDefault 1.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_parallax (risk 2, mutates, smoke)​

Parallax (bump offset) material using a height texture.

ArgumentTypeDescription
baseColorstring
heightstring
normalstring
heightRationumberDefault 0.05.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_pbr (risk 2, mutates, smoke)​

Physically based opaque surface from a texture set (base colour, normal, roughness, metallic, AO, emissive or a packed ORM texture).

ArgumentTypeDescription
baseColorstringBase colour texture; empty uses the colour below.
baseColorTintUeaMatColorBase colour when no texture is given.
normalstringNormal map texture.
roughnessstringRoughness texture; empty uses roughnessValue.
roughnessValuenumberDefault 0.5.
metallicstringMetallic texture; empty uses metallicValue.
metallicValuenumberDefault 0.0.
aostringAmbient occlusion texture.
emissivestringEmissive texture.
emissiveTintUeaMatColor
emissiveIntensitynumberDefault 0.0.
packedOrmstringPacked occlusion/roughness/metallic texture (R=AO, G=Roughness, B=Metallic).
tilingnumberUV tiling applied to every texture. Default 1.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_post_process (risk 2, mutates, smoke)​

Post-process material applying a tint, a desaturation or a vignette.

ArgumentTypeDescription
effectstringtint / desaturate / vignette.
colorUeaMatColor
intensitynumberDefault 1.0.
blendableLocationstringbefore_tonemapping (default) / after_tonemapping / before_translucency / replacing_tonemapper.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_rim_light (risk 2, mutates, smoke)​

Base colour plus a Fresnel rim light added to the emissive output.

ArgumentTypeDescription
baseColorTintUeaMatColor
rimColorUeaMatColor
exponentnumberDefault 4.0.
intensitynumberDefault 2.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_subsurface_skin (risk 2, mutates, smoke)​

Subsurface skin material (preintegrated skin shading model).

ArgumentTypeDescription
baseColorstring
baseColorTintUeaMatColor
normalstring
roughnessnumberDefault 0.5.
subsurfaceColorUeaMatColorSubsurface / fuzz colour depending on the recipe.
amountnumberCloth fuzz amount or subsurface opacity. Default 0.5.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_translucent (risk 2, mutates, smoke)​

Translucent material with a colour, an opacity and an optional Fresnel falloff.

ArgumentTypeDescription
colorUeaMatColor
opacitynumberDefault 0.5.
fresnelbooleanAdd a Fresnel term to the opacity. Default false.
iornumberDefault 1.0.
unlitbooleanUse the unlit shading model. Default false.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_triplanar (risk 2, mutates, smoke)​

Triplanar (world-aligned) projection of a base colour and a normal map.

ArgumentTypeDescription
baseColorstring
normalstring
scalenumberDefault 256.0.
sharpnessnumberDefault 4.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_two_sided_foliage (risk 2, mutates, smoke)​

Two-sided foliage: subsurface colour transmitted through thin leaves.

ArgumentTypeDescription
baseColorstring
baseColorTintUeaMatColor
normalstring
roughnessnumberDefault 0.5.
subsurfaceColorUeaMatColorSubsurface / fuzz colour depending on the recipe.
amountnumberCloth fuzz amount or subsurface opacity. Default 0.5.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_ui (risk 2, mutates, smoke)​

UI (widget) material: a texture tinted and faded, in the User Interface domain.

ArgumentTypeDescription
texturestring
tintUeaMatColor
opacitynumberDefault 1.0.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_unlit_color (risk 2, mutates, smoke)​

Flat unlit colour. The cheapest material there is; ideal for blockouts and debug.

ArgumentTypeDescription
colorUeaMatColor

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_vertex_color (risk 2, mutates, smoke)​

Uses the mesh vertex colour as base colour.

ArgumentTypeDescription
folderstringDestination folder (ignored when "material" points at an existing asset).
namestringName of the material to create.
materialstringExisting material to fill instead of creating one (its graph is cleared).
parameterizebooleanExpose the recipe's inputs as material parameters (default true). Default true.
groupstringParameter group used when parameterizing.
compilebooleanRecompile at the end (default true). Default true.
savebooleanSave the package. Default false.

Returns: asset, nodes, parameters, errors, nodeCount.

material.recipe_water_simple (risk 2, mutates, smoke)​

Simple water surface: scrolling normals, a tinted translucent body and a Fresnel rim.

ArgumentTypeDescription
normalstringNormal map scrolled over the surface.
speednumberDefault 0.05.
colorUeaMatColor
opacitynumberDefault 0.6.
fresnelbooleanDefault true.

Returns: asset, nodes, parameters, errors, nodeCount.

material.remove_function_input (risk 3, mutates, smoke)​

Removes one input declaration from a function.

ArgumentTypeDescription
functionstringrequired.
namestringrequired.
newNamestringNew name (material.rename_function_input).

Returns: params, total.

material.remove_function_output (risk 3, mutates, smoke)​

Removes one output declaration from a function.

ArgumentTypeDescription
functionstringrequired.
namestringrequired.
newNamestringNew name (material.rename_function_input).

Returns: params, total.

material.remove_layer (risk 3, mutates, UE 5.0+, smoke)​

Removes one layer (and its blend) from the stack.

ArgumentTypeDescription
targetstringrequired.
indexintegerrequired.
visiblebooleanVisibility for material.set_layer_visible. Default true.
newIndexintegerNew index for material.reorder_layer. Default 0.
assetstringLayer or blend asset for material.set_layer_asset.
slotstring"layer" (default) or "blend" for material.set_layer_asset.

Returns: layers, total, node.

material.rename (risk 2, mutates, smoke)​

Renames a material asset in place.

ArgumentTypeDescription
materialstringrequired.
newNamestringrequired.

Returns: asset, errors, notes.

material.rename_function (risk 2, mutates, smoke)​

Renames a material function.

ArgumentTypeDescription
materialstringrequired.
newNamestringrequired.

Returns: asset, errors, notes.

material.rename_function_input (risk 2, mutates, smoke)​

Renames a function input. Materials calling the function keep their connection by index.

ArgumentTypeDescription
functionstringrequired.
namestringrequired.
newNamestringNew name (material.rename_function_input).

Returns: params, total.

material.rename_instance (risk 2, mutates, smoke)​

Renames a material instance.

ArgumentTypeDescription
materialstringrequired.
newNamestringrequired.

Returns: asset, errors, notes.

material.rename_parameter (risk 3, mutates, smoke)​

Renames a parameter declaration. Instances referencing the old name lose their override.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset.
namestringrequired. Parameter name.
groupstringNew parameter group.
valuestringNew default value (number, "(R=1,G=0,B=0,A=1)" or a texture asset path).
newNamestringNew name (material.rename_parameter).
minnumberSlider minimum (scalar parameters). Default 0.0.
maxnumberSlider maximum (scalar parameters). Default 0.0.
sortPriorityintegerSort priority in the details panel; negative keeps the current value. Default -1.

Returns: parameter.

material.reorder_layer (risk 2, mutates, UE 5.0+, smoke)​

Moves one layer to another position in the stack.

ArgumentTypeDescription
targetstringrequired.
indexintegerrequired.
visiblebooleanVisibility for material.set_layer_visible. Default true.
newIndexintegerNew index for material.reorder_layer. Default 0.
assetstringLayer or blend asset for material.set_layer_asset.
slotstring"layer" (default) or "blend" for material.set_layer_asset.

Returns: layers, total, node.

material.replace_node_class (risk 3, mutates, smoke)​

Replaces an expression with another class, reconnecting the inputs whose names match.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
newClassstringrequired. New expression class or alias.

Returns: node, target, errors.

material.replace_texture (risk 2, mutates, smoke)​

Replaces every reference to one texture with another across the whole graph. Returns the expressions it changed.

ArgumentTypeDescription
materialstringrequired.
fromstringrequired. Texture currently referenced.
tostringrequired. Replacement texture.
compilebooleanRecompile afterwards. Default false.

Returns: count, items.

material.reset_to_parent (risk 5, mutates, destructive, smoke)​

Resets an instance to its parent: every override is dropped.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant asset.

Returns: asset, parent, parentChain, baseMaterial, parameters, overriddenCount, overrides.

material.save (risk 2, mutates, smoke)​

Saves a material package to disk.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: asset, errors, notes.

material.save_function (risk 2, mutates, smoke)​

Saves a material function package to disk.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: asset, errors, notes.

material.save_instance (risk 2, mutates, smoke)​

Saves a material instance package to disk.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant asset.

Returns: asset, errors, notes.

material.set_function_input (risk 2, mutates, smoke)​

Changes the type, preview value, sort priority and description of one function input.

ArgumentTypeDescription
functionstringrequired.
namestringrequired.
typestring
previewValueUeaMatColor
sortPriorityintegerNegative keeps the current value. Default -1.
descriptionstring
usePreviewAsDefaultstring"true" / "false"; empty keeps the current state.

Returns: params, total.

material.set_function_instance_parameters (risk 2, mutates, smoke)​

Sets the parameter overrides of a Material Function Instance.

ArgumentTypeDescription
instancestringrequired. Material Function Instance asset.
scalarsarray of UeaMatScalarValue
vectorsarray of UeaMatVectorValue
texturesarray of UeaMatTextureValue

Returns: asset, errors, notes.

material.set_function_settings (risk 2, mutates, smoke)​

Changes the description, the expose-to-library flag and the palette categories of a function.

ArgumentTypeDescription
functionstringrequired.
descriptionstring
exposeToLibrarystring"true" / "false"; empty keeps the current state.
categoriesarray of string

Returns: asset, description, exposeToLibrary, libraryCategories, inputs, outputs, nodeCount, users.

material.set_instance_overrides (risk 2, mutates, smoke)​

Overrides blend mode, shading model, two-sided, dithered LOD, opacity mask clip value and shadow flags on an instance. Pass "inherit" to drop an override.

ArgumentTypeDescription
instancestringrequired.
blendModestringBlend mode override; "inherit" removes the override.
shadingModelstringShading model override; "inherit" removes the override.
twoSidedstring"true" / "false" / "inherit".
ditheredLODTransitionstring"true" / "false" / "inherit".
castDynamicShadowAsMaskedstring"true" / "false" / "inherit".
outputTranslucentVelocitystring"true" / "false" / "inherit" (5.x only).
opacityMaskClipValuenumberAlpha threshold override; negative keeps the current state. Default -1.0.
clearOpacityMaskClipValuebooleanRemove the opacity-mask-clip-value override. Default false.

Returns: overrides, active.

material.set_instance_physical_material (risk 2, mutates, smoke)​

Sets (or clears) the physical material override of an instance.

ArgumentTypeDescription
materialstringrequired.
physicalMaterialstringPhysical material asset; empty clears it.

Returns: asset, parent, parentChain, baseMaterial, parameters, overriddenCount, overrides.

material.set_layer_asset (risk 2, mutates, UE 5.0+, smoke)​

Replaces the layer or blend asset used at one position of the stack.

ArgumentTypeDescription
targetstringrequired.
indexintegerrequired.
visiblebooleanVisibility for material.set_layer_visible. Default true.
newIndexintegerNew index for material.reorder_layer. Default 0.
assetstringLayer or blend asset for material.set_layer_asset.
slotstring"layer" (default) or "blend" for material.set_layer_asset.

Returns: layers, total, node.

material.set_layer_parameter (risk 2, mutates, UE 5.0+)​

Overrides one parameter inside a layer (or its blend) of a material instance. SmokeSkip: it needs an instance whose parent exposes a layer stack with parameters, which the sandbox chain does not build.

ArgumentTypeDescription
instancestringrequired. Material Instance Constant that owns the layer stack.
layerIndexintegerrequired.
namestringrequired.
kindstringscalar (default) / vector / texture / switch.
valuestringValue as text: a number, "(R=..,G=..,B=..,A=..)", a texture path or true/false.
blendbooleanTarget the blend function of the layer instead of the layer itself. Default false.

Returns: value, overridden, parentValue.

material.set_layer_visible (risk 2, mutates, UE 5.0+, smoke)​

Shows or hides one layer of the stack.

ArgumentTypeDescription
targetstringrequired.
indexintegerrequired.
visiblebooleanVisibility for material.set_layer_visible. Default true.
newIndexintegerNew index for material.reorder_layer. Default 0.
assetstringLayer or blend asset for material.set_layer_asset.
slotstring"layer" (default) or "blend" for material.set_layer_asset.

Returns: layers, total, node.

material.set_layers (risk 3, mutates, UE 5.0+, smoke)​

Replaces the whole layer stack of a material: layers[0] is the background, blends[i] blends layers[i+1] onto the result.

ArgumentTypeDescription
targetstringrequired.
layersarray of stringrequired. Material layer function assets, background first.
blendsarray of stringBlend function assets; one per layer above the background.
namesarray of stringDisplay names.

Returns: layers, total, node.

material.set_node_desc (risk 2, mutates, smoke)​

Sets the description of an expression; it becomes a stable selector for later calls.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
descstringNew description; it doubles as a stable selector for later calls.

Returns: node, target, errors.

material.set_node_properties (risk 2, mutates, smoke)​

Sets several properties of an expression in one call.

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
propertiesarray of UeaKeyValuerequired. Property name/value pairs.

Returns: node, target, errors.

material.set_node_property (risk 2, mutates, smoke)​

Sets one property of an expression from text (numbers, enum names, asset paths).

ArgumentTypeDescription
targetstringrequired.
nodestringrequired.
propertystringrequired. Property name on the expression class, e.g. "Texture", "SamplerType", "ConstCoordinate".
valuestringNew value in text form (numbers, enum names, asset paths).

Returns: node, target, errors.

material.set_parameter_default (risk 2, mutates, smoke)​

Changes the default value of a parameter declaration.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset.
namestringrequired. Parameter name.
groupstringNew parameter group.
valuestringNew default value (number, "(R=1,G=0,B=0,A=1)" or a texture asset path).
newNamestringNew name (material.rename_parameter).
minnumberSlider minimum (scalar parameters). Default 0.0.
maxnumberSlider maximum (scalar parameters). Default 0.0.
sortPriorityintegerSort priority in the details panel; negative keeps the current value. Default -1.

Returns: parameter.

material.set_parameter_group (risk 2, mutates, smoke)​

Moves a parameter to another group in the details panel.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset.
namestringrequired. Parameter name.
groupstringNew parameter group.
valuestringNew default value (number, "(R=1,G=0,B=0,A=1)" or a texture asset path).
newNamestringNew name (material.rename_parameter).
minnumberSlider minimum (scalar parameters). Default 0.0.
maxnumberSlider maximum (scalar parameters). Default 0.0.
sortPriorityintegerSort priority in the details panel; negative keeps the current value. Default -1.

Returns: parameter.

material.set_parameter_range (risk 2, mutates, smoke)​

Sets the slider minimum and maximum of a scalar parameter.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset.
namestringrequired. Parameter name.
groupstringNew parameter group.
valuestringNew default value (number, "(R=1,G=0,B=0,A=1)" or a texture asset path).
newNamestringNew name (material.rename_parameter).
minnumberSlider minimum (scalar parameters). Default 0.0.
maxnumberSlider maximum (scalar parameters). Default 0.0.
sortPriorityintegerSort priority in the details panel; negative keeps the current value. Default -1.

Returns: parameter.

material.set_parameters (risk 2, mutates, smoke)​

Overrides several parameters of an instance in one call.

ArgumentTypeDescription
instancestringrequired.
scalarsarray of UeaMatScalarValue
vectorsarray of UeaMatVectorValue
texturesarray of UeaMatTextureValue
switchesarray of UeaMatSwitchValue
compilebooleanUpdate the instance afterwards (default true). Default true.

Returns: parameters, total, overriddenCount.

material.set_parent (risk 2, mutates, smoke)​

Reparents an instance; the overrides whose parameter names still exist are kept.

ArgumentTypeDescription
instancestringrequired.
parentstringrequired.

Returns: asset, parent, parentChain, baseMaterial, parameters, overriddenCount, overrides.

material.set_physical_material (risk 2, mutates, smoke)​

Sets (or clears) the physical material of a material.

ArgumentTypeDescription
materialstringrequired.
physicalMaterialstringPhysical material asset; empty clears it.

Returns: asset, settings, connectedProperties, stats, errors.

material.set_preview_mesh (risk 2, mutates)​

Sets the mesh shown in the material editor preview viewport. SmokeSkip: it only affects editor UI state and needs a viewport.

ArgumentTypeDescription
materialstringrequired.
meshstringrequired. sphere / cube / plane / cylinder, or a static-mesh asset path.

Returns: asset, errors, notes.

material.set_scalar (risk 2, mutates, smoke)​

Overrides one scalar parameter.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.
valuenumberrequired.

Returns: value, overridden, parentValue.

material.set_settings (risk 2, mutates, smoke)​

Changes domain, blend mode, shading model, two-sided, opacity mask clip value, customized UVs, decal response, usage flags and more. Only the fields you pass are touched.

ArgumentTypeDescription
materialstringrequired.
domainstring
blendModestring
shadingModelstring
shadingModelsarray of stringExtra shading models to allow (5.x, materials using "from_material_expression").
twoSidedstring"true"/"false" to change it; empty to keep.
opacityMaskClipValuenumberAlpha threshold of masked materials; negative keeps the current value. Default -1.0.
ditheredLODTransitionstring
tangentSpaceNormalstring
numCustomizedUVsintegerNumber of customized UV outputs (0..8); negative keeps the current value. Default -1.
allowNegativeEmissivestring
blendableLocationstringPost-process blendable location (before_tonemapping / after_tonemapping / before_translucency / ...).
refractionMethodstringRefraction method (5.x only): none / index_of_refraction / pixel_normal_offset.
materialDecalResponsestringnone / color_normal_roughness / color / color_normal / color_roughness / normal / normal_roughness / roughness.
castRayTracedShadowsstring
usagearray of stringbUsedWith* flags to enable, by short name ("skeletal_mesh", "particle_sprites", "niagara_sprites", "instanced_static_meshes", "static_lighting", ...).
subsurfaceProfilestringSubsurface profile asset.
compilebooleanRecompile after the change (default false: batch settings then call material.compile). Default false.

Returns: asset, settings, connectedProperties, stats, errors.

material.set_sort_priority (risk 2, mutates, smoke)​

Sets the sort priority of a parameter in the details panel.

ArgumentTypeDescription
targetstringrequired. Material or Material Function asset.
namestringrequired. Parameter name.
groupstringNew parameter group.
valuestringNew default value (number, "(R=1,G=0,B=0,A=1)" or a texture asset path).
newNamestringNew name (material.rename_parameter).
minnumberSlider minimum (scalar parameters). Default 0.0.
maxnumberSlider maximum (scalar parameters). Default 0.0.
sortPriorityintegerSort priority in the details panel; negative keeps the current value. Default -1.

Returns: parameter.

material.set_static_component_mask (risk 2, mutates)​

Overrides one static component mask parameter. SmokeSkip: it needs a StaticComponentMaskParameter declared in the parent material, which the sandbox chain does not create.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.
rbooleanDefault true.
gbooleanDefault false.
bbooleanDefault false.
abooleanDefault false.

Returns: value, overridden, parentValue.

material.set_static_switch (risk 2, mutates, smoke)​

Overrides one static switch parameter (changes the shader permutation).

ArgumentTypeDescription
instancestringrequired.
namestringrequired.
valuebooleanDefault true.

Returns: value, overridden, parentValue.

material.set_subsurface_profile (risk 2, mutates, smoke)​

Sets (or clears, when the asset is empty) the subsurface profile override of an instance.

ArgumentTypeDescription
materialstringrequired.
physicalMaterialstringPhysical material asset; empty clears it.

Returns: asset, parent, parentChain, baseMaterial, parameters, overriddenCount, overrides.

material.set_texture (risk 2, mutates, smoke)​

Overrides one texture parameter.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.
texturestringrequired. Texture asset path.

Returns: value, overridden, parentValue.

material.set_usage (risk 2, mutates, smoke)​

Enables or disables one bUsedWith* flag of a material (skeletal_mesh, particle_sprites, instanced_static_meshes, ...).

ArgumentTypeDescription
materialstringrequired.
usagestringrequired. Short usage name: skeletal_mesh, particle_sprites, beam_trails, mesh_particles, static_lighting, morph_targets, spline_mesh, instanced_static_meshes, geometry_collections, clothing, niagara_sprites, niagara_ribbons, niagara_mesh_particles, geometry_cache, water, hair_strands, lidar_point_cloud, virtual_heightfield_mesh (5.x adds nanite, static_mesh, volumetric_cloud, ...).
enabledbooleanTrue to enable (default), false to disable. Default true.

Returns: available, enabled.

material.set_vector (risk 2, mutates, smoke)​

Overrides one vector (colour) parameter.

ArgumentTypeDescription
instancestringrequired.
namestringrequired.
colorUeaMatColor

Returns: value, overridden, parentValue.

material.update_function (risk 2, mutates, smoke)​

Recompiles the materials that call a function after its graph changed.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: count, items.

material.validate (risk 0, smoke)​

Checks a material for unconnected required inputs, missing textures, sampler-type mismatches and unused parameters.

ArgumentTypeDescription
materialstringrequired. Material asset path or unique name.

Returns: valid, issues, errorCount, warningCount.

material.validate_function (risk 0, smoke)​

Checks a function for unconnected outputs, unused inputs and duplicate names.

ArgumentTypeDescription
functionstringrequired. Material Function asset path or unique name.

Returns: valid, issues, errorCount, warningCount.