In this tutorial we will see how to create a Material Preset in Substance Painter, that is, how to define our own Fill Layer by setting the Textures for Base Color, Normal, and the other information channels, then save it in the Materials section of the Shelf so that it can be used in other Substance sessions.
Video Transcript
Hello everyone! In this tutorial we will see how to create a Material Preset in Substance Painter, that is, how to define our own Fill Layer by setting the Textures for Base Color, Normal, and the other information channels, then save it in the Materials section of the Shelf so that it can be used in other Substance sessions.
We want to create a Material Preset so that we have a single Material element with just one layer, rather than a group of elements that may include filters, layers, or texture-based generators, as is the case with Smart Materials. The idea is to create an element like this and drag it into the layer stack of our project, applying it either entirely or partially through layer masks to our objects...
... before proceeding, however, let's take a moment to think about WHY we would want to do this, considering that we can create Smart Materials which, at least at first glance, seem much more flexible. In fact, Smart Materials can include multiple Layers and Materials, in some cases even with filters, layers, or generators based on maps created through Bake operations or other tools.
The first reason that comes to mind for creating a simple Material Preset is the need to build a material from external Texture images, for example Base Color, Normal, and Roughness images obtained from photographs, scans, or even created manually by you or someone else. These may also be seamless Textures that can be tiled repeatedly across a surface without producing visible seams.
In this and similar cases, there is no need to use a Smart Material. It is enough to:
import the Textures into the Substance session through File → Import Resources, specifying the resource type as "Texture" and importing them into "Current Session", since there is no need to save THESE FILES to the Shelf because we will be saving a Material instead;

create an empty Fill Layer, enabling only the channels we need in the "Properties - Fill" section of the Tool Shelf. I use the PBR Metallic workflow, so I am enabling Color, Metal, Roughness, Normal, Height, and Opacity, the latter simply to tell Substance that, in this example, the material is not transparent;

drag the imported Textures into the Fill Layer, placing them in the corresponding slots, or set values that will be applied uniformly across the entire surface. In my case, for example, I set the Opacity parameter to a value of 1;

... and finally, right-click an empty area in the Properties - Fill panel and select "Create Material Preset" from the menu that appears: done!

The Material created this way will immediately be available in the Materials section of the Shelf and can be used like any other Substance Base Material in this and future projects.

A Material can also be created from a Smart Material, producing a "flattened" version of it, much like collapsing a layer stack into a single layer in image editing software. This can be useful, for example, to save computing resources and even disk space in the project file when working with very complex scenes. This brings us to the second reason covered in this tutorial, for which I will use a slightly more advanced example.
Let's assume we have a collection of individual 3D objects, each with its own Substance project containing one or more Materials and Smart Materials, and we want to merge everything into a single object with a single Texture Set. Personally, I have done this many times, combining multiple Assets into single elements, or at least into assets that use a single Texture Set, in order to reduce resource usage in real-time applications.

In this case, I start in a 3D graphics program, Blender in my case, and perform the following operations:
I place all the 3D models into a Blender scene, remove all original materials, and assign a new material to the objects, using the same shared material for all of them;

next, I scale and move the UV islands of these objects so that they all fit within a single UV space without overlapping. At this stage, it is a good idea to scale the various UV maps proportionally to the size of the objects in the scene. For example, a pen may occupy a much smaller UV area than a table;

before exporting, I decide whether to merge all objects into a single object or leave them separate while still sharing the same UV space and the same Material. The choice depends on how the collection of objects will be used. For example, if the entire set will remain in the background of the final application and there will never be a need to move, rotate, or remove the individual elements separately, then I merge everything into a single Object. Otherwise, I leave the objects separate;

finally, I export everything to disk in FBX format.

Back in Substance Painter, I now need to work in multiple stages. First, I must create Materials for each individual object, as shown in the first example of this tutorial. Then I will place those Materials into the new project and transform them to fit the new UV Layout.

The first stage can be somewhat tedious because I need to open each individual Substance project and export the PBR Metallic Texture set as image files into a temporary folder. This must be done for every project, but there is good news: once I create a Material Preset from those Textures, it will remain available in my library for future use. In practice, this operation only needs to be performed once for each Asset in your library.

Once all the required exports have been completed, we can finally create a new Substance project with the asset we want to texture. This project will contain a single Material, built by assigning the various Materials, scaled, moved, and with UV Wrap disabled in the Properties - Fill panel, to specific areas of the UV Layout.

Even though the individual layers and effects from the original materials of the separate objects are no longer available, we can still add filters and other effects to these Fill Layers. In the end, we can export the entire Texture Set, obtaining a model and Texture images for a single material.

Well, that's all for this tutorial! See you next time!