Skip to content

editor_toolset.toolsets.material_instance.MaterialInstanceTools

Provides tools for creating and modifying MaterialInstanceConstant assets.

13 tool(s).

editor_toolset.toolsets.material_instance.MaterialInstanceTools.clear_parameters

Clears all parameter overrides on a material instance, reverting to parent defaults.

    Args:
        instance: The MaterialInstanceConstant to clear.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    }
  },
  "required": [
    "instance"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.create

Creates a new MaterialInstanceConstant asset derived from a parent material.

    Material instances expose the parent's parameters without triggering a full
    shader recompile when parameter values change.

    Args:
        folder_path: The content-browser path to the folder for the new asset.
        asset_name: The name of the new asset.
        parent: The parent Material or MaterialInstance to derive from.

    Returns:
        The newly created MaterialInstanceConstant.

Input schema

{
  "properties": {
    "asset_name": {
      "type": "string"
    },
    "folder_path": {
      "type": "string"
    },
    "parent": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInterface",
      "type": "object"
    }
  },
  "required": [
    "folder_path",
    "asset_name",
    "parent"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.get_scalar_parameter

Gets the current value of a scalar parameter on a material instance.

    Args:
        instance: The MaterialInstanceConstant to query.
        name: The parameter name.

    Returns:
        The effective scalar (float) value, inheriting from the parent if not overridden.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "instance",
    "name"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "type": "number"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.get_static_switch_parameter

Gets the value of a static switch parameter on a material instance.

    Note: Overriding static switch parameters triggers a shader recompile.

    Args:
        instance: The MaterialInstanceConstant to query.
        name: The parameter name.

    Returns:
        The effective boolean value, inheriting from the parent if not overridden.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "instance",
    "name"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "type": "boolean"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.get_texture_parameter

Gets the texture assigned to a texture parameter on a material instance.

    Args:
        instance: The MaterialInstanceConstant to query.
        name: The parameter name.

    Returns:
        The assigned Texture, or None if the parameter is not overridden on this instance.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "instance",
    "name"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.Texture",
      "type": "object"
    }
  },
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.get_vector_parameter

Gets the current value of a vector parameter on a material instance.

    Args:
        instance: The MaterialInstanceConstant to query.
        name: The parameter name.

    Returns:
        The effective value as a LinearColor (RGBA), inheriting from the parent if
        not overridden.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "instance",
    "name"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "properties": {
        "a": {
          "minimum": 0,
          "type": "number"
        },
        "b": {
          "minimum": 0,
          "type": "number"
        },
        "g": {
          "minimum": 0,
          "type": "number"
        },
        "r": {
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "r",
        "g",
        "b",
        "a"
      ],
      "title": "LinearColor",
      "type": "object"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.list_parameters

Returns all parameters exposed by a material or instance, with their names and types.

    Args:
        material: The Material or MaterialInstance to query.

    Returns:
        A list of MaterialParameter entries, each with a name and a type.

Input schema

{
  "properties": {
    "material": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInterface",
      "type": "object"
    }
  },
  "required": [
    "material"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "returnValue": {
      "items": {
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "enum": [
              "Scalar",
              "Vector",
              "Texture",
              "StaticSwitch"
            ],
            "title": "MaterialParameterType",
            "type": "string"
          }
        },
        "required": [
          "type",
          "name"
        ],
        "title": "MaterialParameter",
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "returnValue"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.set_parameter_override

Enables or disables a parameter override on a material instance.

    Enabling sets the override to the current effective value. Disabling reverts
    to the parent. For non-static parameter types, disabling also discards the
    prior override value; re-enabling later restores the parent value, not the
    prior override. Static switches and static component masks preserve their
    value across toggle.

    Args:
        instance: The MaterialInstanceConstant to modify.
        name: The parameter name.
        override: True to enable the override, False to clear it.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "override": {
      "type": "boolean"
    }
  },
  "required": [
    "instance",
    "name",
    "override"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.set_parent

Changes the parent of a material instance.

    Args:
        instance: The MaterialInstanceConstant to modify.
        parent: The new parent Material or MaterialInstance.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "parent": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInterface",
      "type": "object"
    }
  },
  "required": [
    "instance",
    "parent"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.set_scalar_parameter

Sets the value of a scalar parameter on a material instance.

    Args:
        instance: The MaterialInstanceConstant to modify.
        name: The parameter name.
        value: The new scalar (float) value.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "value": {
      "type": "number"
    }
  },
  "required": [
    "instance",
    "name",
    "value"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.set_static_switch_parameter

Sets the value of a static switch parameter on a material instance.

    Args:
        instance: The MaterialInstanceConstant to modify.
        name: The parameter name.
        value: The new boolean value.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "value": {
      "type": "boolean"
    }
  },
  "required": [
    "instance",
    "name",
    "value"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.set_texture_parameter

Assigns a texture to a texture parameter on a material instance.

    Args:
        instance: The MaterialInstanceConstant to modify.
        name: The parameter name.
        value: The Texture asset to assign.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "value": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.Texture",
      "type": "object"
    }
  },
  "required": [
    "instance",
    "name",
    "value"
  ],
  "type": "object"
}

editor_toolset.toolsets.material_instance.MaterialInstanceTools.set_vector_parameter

Sets the value of a vector parameter on a material instance.

    Args:
        instance: The MaterialInstanceConstant to modify.
        name: The parameter name.
        value: The new value as a LinearColor (RGBA). Use values in the range 0–1
            for standard colors; values above 1 are valid for HDR and emissive.

Input schema

{
  "properties": {
    "instance": {
      "description": "Represents a reference to a UObject or UClass.",
      "properties": {
        "refPath": {
          "description": "The reference stored as a soft path string.",
          "type": "string"
        }
      },
      "required": [
        "refPath"
      ],
      "title": "/Script/Engine.MaterialInstanceConstant",
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "value": {
      "properties": {
        "a": {
          "minimum": 0,
          "type": "number"
        },
        "b": {
          "minimum": 0,
          "type": "number"
        },
        "g": {
          "minimum": 0,
          "type": "number"
        },
        "r": {
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "r",
        "g",
        "b",
        "a"
      ],
      "title": "LinearColor",
      "type": "object"
    }
  },
  "required": [
    "instance",
    "name",
    "value"
  ],
  "type": "object"
}