UDN
Search public documentation
MaterialInstanceEditorUserGuide
Material Instance Editor User Guide
Document Summary: Guide to using the Unreal Material Instance Editor. Document Changelog: Created by Amitt Mahajan?. Maintained by Richard Nalezynski.Introduction
The material instance editor is used for modifying parameters for material instances. If you are unfamiliar with material instances, please see the Instanced Materials page for more information.Using the Material Instance Editor
Opening the Instance Material Editor
The Material Instanced Editor accessed by double clicking on a material instance in the Generic Browser or by right-clicking on an actor and selecting Edit Material Instance from the Material Name sub menu of the Materials menu.Material Instance Editor Overview
Material Instance Editor Layout
| 1 | Properties Pane?. | Properties of the material instance. |
| 2 | Preview_Pane?. | Previews the current matieral instance. |
| 3 | Parent List?. | A list of the chain of parents for the current material instance. |
| 4 | Menu Bar? and Toolbar?. | Visualization and navigation tools. |
Working with Material Instances
Creating Instances
Using Existing Materials and Material Instances
Users can create a new instance of a Material or a Material Instance by right clicking on the asset's thumbnail within the Generic Browser, and then choosing the "Create New Material Instance" option. This action will create a new Material Instance with the selected Material/Material Instance as the parent and then open up the new Material Instance in the Material Instance Editor.Using Actors
Material instances can be creating from actors that support materials by right clicking on the actor, and going to the "Materials" submenu. There will be an submenu for each of the materials currently in use by the actor. Within this submenu, users can replace the currently bound material with a new material instance. This menu can be seen below:
Editing Instances
Property Window
The property window in the material instance editor is where all of the ‘work’ should take place. Through the property window, material instance parameters can be overridden and changed. There are 5 types of material instance parameters: vector, scalar, texture, static switch, and static component mask. These parameters are stored in 5 different arrays in the property window. These arrays are autogenerated. Creating an entry for each instance parameter that exists in the parent material for this material instance. By default, none of the parent's parameters values are overridden.Overriding Parameters
The checkboxes to the left side of each of the parameter names specify whether or not an overridden value should be used. So below TintColor is being used while TimeScalar, DiffuseTex, SomeUnusedScalar and SomeUnusedVector are not. Only checked values are stored for memory conservation reasons, so unchecked values will be lost when the material instance editor window is closed.
Parent List
Since Material Instances can have other Material Instances as their parent, sometimes its difficult to find the original Material that the Material Instance is based off of.
The parent list solves that problem by displaying the chain of parents of the current Material Instance all the way up to the root Material that is the start of the chain. For example, The parent list displayed above shows a Material Instance named "TestMaterial_INST_INST" that has the Material Instance "TestMaterial_INST" as its parent. We can see in the parent list that "TestMaterial_INST" has "TestMaterial" as its parent. The instance currently being edited is shown in bold.
Furthermore, by double-clicking on any of the items in the parent list, the editor for that parent will be launched. Parents can also be located in the generic browser by right-clicking on the parent's item and then choosing "Sync Generic Browser".
Workflow
With these features, we are hoping to establish a consistent workflow for authoring new material instances.Artist Workflow
The most common usage case for artist of this editor would be something like this:- Artist creates new material with parameters to alter the appearance.
- Artist creates a new material instance constant in a package by right clicking in the GB.
- Artist assigns previously created material as the parent of the new material instance constant
- Artist modifies material instance parameters to change the way the material looks.
- Artist and LDs can now use the new material instance constant throughout the editor.
Level Designer Workflow
The most common usage case for LDs of this editor would be something like this:- Artist creates new material with parameters to alter the appearance.
- LDs place the material throughout the level.
- LD feels that the material needs to be tweaked and creates a new material instance by right clicking on the actor and using the menu option described above.
- LD checks the box next to the instance parameter they want to replace and modifies the look of the material.
- (Optional) Since material instances created this way are stored in the level package, the LD can optionally apply the material instance that was created to other actors. The material instance will appear in the level package in the generic browser.
