You can use UE4 Material Instances with Substances. This will save a large step in the GPU rendering process by not uploading a new material to process. An MID can be created at runtime or in the editor.
Creating a Material Instance in the editor
- Right-click on the substance created UE4 material and choose "Create Material Instance." This creates a UE4 Instanced material.
- Right-click the substance instance factory and choose "Create a graph instance." This will create an instance of the graph and create another UE4 material. Delete the newly created UE4 material as this will not be used.
- Double click the material instance you created in step 1 and enable the Texture parameters for all of the maps.
- Set the texture to the new INST texture that was created from step 2. This will set the material instance to use the substance output maps from the instanced graph.
You now have a UE4 material instance that is using specific set of substance textures. This is a more optimized way of working with multiple substances in a UE4 project. To learn how to create an MID using blueprint, please check this page. Blueprint: Dynamic Material Instance