create_material_instance
Create a material instance from a parent material to store only overrides, keeping the parent untouched and updatable without compiling a new shader; returns it if already present.
Instructions
Create a material instance (MIC) from a parent material -- the cheap, non-destructive way to re-skin a vendor or engine material: the parent stays untouched and updatable while only your overrides are stored, and no new shader is compiled. Idempotent (already_exists=true when it is already there). Same operation as create_material_instance_constant, which takes a single full asset path instead of separate folder and name. Tune it with set_material_instance_param_override, and remember static switches inherit from the parent and are set separately.
Returns: { instance_path: string, instance_name: string, parent_material?: string, parent_material_path: string, parent_material_name: string, success: bool, already_exists?: bool, saved: bool, save_error?: string }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| instance_name | Yes | Name of the material instance to create | |
| instance_path | Yes | Package path for the material instance (e.g., '/Game/Materials/MyInstance') | |
| parent_material_path | Yes | Full path to the parent material (e.g., '/Game/Materials/MyMaterial.MyMaterial') |