Language:
Page Info
Tags:
Skill Level:
Engine Version:

Material Instance Editor User Guide

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.

Opening the Material Instance Editor

The Material Instance Editor can be opened by double-clicking any Material Instance asset or through the right-click context menu of a Material Instance asset in the Content Browser. Either of these will open up that particular Material Instance in the Material Instance Editor for editing. Another way to open the Material Instance Editor is by Right-Clicking on an Actor and selecting Edit Material Instance from the Material Name sub-menu of the Materials menu.

Material Instance Editor Interface

The Material Instance Editor is comprised of these regions:

materialinstanceeditor.png

  1. Toolbar - Allows you to save your asset, locate it in the Content Browser, and display rendering statistics.

  2. Viewport Display Options - Allows you to change the mesh that is used in the viewport.

  3. Details Pane - Properties of the Material Instance.

  4. Parent List - A list of the chain of parents for the currentMaterial Instance.

  5. Viewport - Previews the current Material Instance.

Tool Bar

Icon Description
button_MIE_Save.png Saves the current asset.
button_MIE_Find.png Finds the Material Instance Constant in the Content Browser.
button_MIE_Params.png Makes all Material parameters in the parent Material visible in the Properties Pane.
button_MIE_Mobile_Stats.png Toggles the Material stats and compilation errors for mobile.

Viewport Display Options

Icon Description
button_MIE_Cylinder.png Previews the Material Instance on a Cylinder.
button_MIE_Sphere.png Previews the Material Instance on a Sphere.
button_MIE_Plane.png Previews the Material Instance on a Plane.
button_MIE_Cube.png Previews the Material Instance on a Cube.
button_MIE_Mesh.png Previews the Material Instance on a custom Static Mesh.
Viewport_Options_Button.png Enables real time preview, FPS and allows you to set the FOV of the preview window.
View_Type_Button.png Changes between Perspective and Orthographic viewing options.
Viewmode_Options_Button.png Changes between the different standard view modes like Lit, Unlit, Wireframe and others.
Show_Button.png Enables or disables rendering stats, the grid and the background.

Details Pane

MIE_Properties.png

The Details pane in the Material Instance Editor is where all of the 'work' should take place. Anyone using the Material Instance will override or change parameters through the details Tab. Each parameter that exists in the Parent Material for this Material Instance is listed in the Parameter Groups array under the group assigned to the parameter in the Parent Material. By default, none of the parent's parameter's values are overridden and have to be enabled in order to be used. To enable a parameter, Left-click on the grayed out box that is next to the name of the parameter you want to enable. When you do this, the box will no longer be grayed out and you will be able to adjust the parameter to your liking.

  • Parameter Groups - In this section you can adjust all of the values that have been exposed to the Material Instance from the Parent Material.

  • General - The General section allows you to change the Parent Material, Phys Material, adjust how this Material Instance will influence the Lightmass build and override some of the properties inherited from the parent Material.

Parent List

MIE_Parent.png

Since Material Instances can have other Material Instances as their parent, sometimes it is 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 Instance_Metallic_Medium that has the Material Instance MasterDemoMaterial_Parent as its parent. We can see in the parent list that MasterDemoMaterial_Parent has MasterDemoMaterial 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 Content Browser by Right-Clicking on the parent's item and then choosing Find in Content Browser.

Viewport

MIE_Preview.png

The Material Viewport displays the Material being edited applied to a mesh. You can interact with the Viewport in the following manner.

  • Rotate the mesh by dragging with the Left Mouse Button.

  • Pan by dragging with the Middle Mouse Button, and zoom by dragging with the Right Mouse Button.

  • Rotate the light direction by holding down the L key and dragging with the Left Mouse Button.

The preview mesh can be changed by using the associated button controls (the shape buttons, Select Preview Mesh combo, and Use Selected StaticMesh button). The preview mesh is saved with the Material so that the next time the Material is opened in a Material Editor, it will be previewed on the same mesh.

MIE_Change_Shapes.png

The Viewport of the Material Instance Editor also displays statistics about the Material, such as instruction counts for the various shader types as well as the number of Texture samples being used by the Material.

MIE_Ins_Count.png

If your Material has some kind of movement in it you and you want to preview it, you can enable Real - Time preview by first clicking on the small white triangle to enable Viewport Options and then click on the stop watch icon. You can also enable / disable real time preview by pressing CTRL + R at the same time on the keyboard.

MIE_Real_Time.png

Creating Instances

There are two main methods that can be used to create an instance of a material in the editor.

Click the Add New button in the Content Browser and choose Material Instance.

NewMIC.png

Assign a name to the new Material Instance.

NameMIC.png

Double-click your new Material Instance. This opens the Material Instance Editor . Use the Content Browser to select and assign the Material to be instanced to the Parent property for the new Material Instance.

MatInstEditorOpen.png

If you already know the Material for which you want to create an instance, you may also right-click on that Material in the Content Browser and choose Create Material Instance .

CreateMaterialInstance.png

Overriding Material Instance 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 Base Metal, Base Roughness, Chrome Roughness, and OPACITY Chrome are being used while Base Scratch Roughness, Base UV Tile, and Chrome Metal 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.

MIE_Overriding.png

Overriding Material Instance Lightmass Settings

You can also override parameters that deal with how the Material Instance interacts with Lightmass by expanding the Lightmass Settings section and then enabling the property you want to override by clicking on it Once a Lightmass property override is enabled, you can then input the new data you want to use in the Parameter Value section. In the following image we have taken the Material Instance for the sky box and overridden it's Emissive Boost to be 2.0 instead of 1.0. When the level lighting is built this will make the Emissive parts of the Material cast more light into the Lightmass build making the levels lighting brighter overall.

Override_Lightmass_Settings.png

Overriding Parent Material Settings

In some cases the Material Instances that are available might not fit your exact needs. For example say you need the Material Instance to be two sided instead of single sided. To fix this you could go to the Parent Material for that Material Instance and set it to be two sided but this would make any other Material Instances that use that Parent Material two sided which is not what we want. Instead you can override certain Parent Material properties within a Material Instance by going to the Material Property Overrides section of the Material Instance and then enabling the property you want to override.

Overried_Parent_Material_Settings.png

In the image above we have set the Material Instance for the sky box to be Two Sided instead of single sided by enabling the Two Sided option that is under the Material Property Overrides section. This will make the Material Instance always render even if it is put onto geometry that has its faces turned so that you can not see them.

Tags