create_material_variant
Create a material instance from a base material and apply scalar, vector, or static switch overrides in one call, avoiding separate creation and set steps.
Instructions
Create a material instance from a base material AND apply a dict of parameter overrides in the same call -- one shot for "same material, different colour/roughness/switch", instead of create_material_instance followed by N set calls. The overrides dict accepts scalars, vector objects and static switch booleans. Addresses the base by NAME rather than path, so resolve an ambiguous name first; check applied_overrides_count against what you sent, and re-read with get_material_all_parameters, since a name that does not exist on the parent is simply not applied.
Returns: { material_name: string, variant_name: string, variant_path: string, variant_asset_name: string, variant_class: string, parent_material: string, success: bool, variant_saved: bool, applied_overrides_count: int, applied_overrides: [{name, type}], message: string, material_class: string, material_category: string, material_tooltip: string, material_display_name: string, parameters_count: int, scalar_parameters_count: int, vector_parameters_count: int, texture_parameters_count: int, static_switch_parameters_count: int, material_is_two_sided: bool, material_is_masked: bool, material_is_translucent: bool, material_is_opaque: bool, blend_mode: string }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| variant_name | Yes | Name for the new variant (must not be empty and cannot contain spaces, dots, or slashes) | |
| material_name | Yes | Name of the base material asset | |
| parameter_overrides | No | Optional dict {param_name: scalar_number | vector_object | static_switch_bool} applied to the variant |