UDN
Search public documentation

MaterialInstanceEditorUserGuide
Licensees can log in.

Red links require licensee log in.

Interested in the Unreal engine?
Check out the licensing page.

Questions about UDN itself?
Contact the UDN Staff

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

materialinstanceeditor_overview.jpg

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:

matinstedit2.jpg

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.

matinstedit3.jpg

Parent List

inheritance_list.jpg

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:

  1. Artist creates new material with parameters to alter the appearance.
  2. Artist creates a new material instance constant in a package by right clicking in the GB.
  3. Artist assigns previously created material as the parent of the new material instance constant
  4. Artist modifies material instance parameters to change the way the material looks.
  5. 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:

  1. Artist creates new material with parameters to alter the appearance.
  2. LDs place the material throughout the level.
  3. 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.
  4. LD checks the box next to the instance parameter they want to replace and modifies the look of the material.
  5. (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.