In this short tutorial, we'll see how to use a Layer, whether it's a Fill Layer or a Substance Material, across multiple Texture Sets in a Substance Painter project.
Video Transcript
Hello everyone! In this short tutorial, we'll see how to use a Layer, whether it's a Fill Layer or a Substance Material, across multiple Texture Sets in a Substance Painter project.
To see what the “Instantiate across Texture Sets” feature is, what it can be used for, and how to use it, let's start with a practical example, which I'm showing on screen right now: a scenario with multiple Texture Sets, associated with various objects, to which we want to apply the same Layer. In this case, it's a noise layer created by multiplying a Clouds texture over the underlying layers, as explained in the video tutorial “Substance Painter Tutorial - Adding Randomness to a Material with Too Much Repetition”.

In this case, instead of copying and pasting the Layer into all the Texture Sets, we can proceed as follows: define the Layer, or Material, depending on the situation, for a single Texture Set, then right-click that Layer and choose “Instantiate across Texture Sets”. Pay attention to the wording: "instantiate", not "copy"!

The difference between the two terms is this: a copy creates a separate element, distinct from the original, which can then be modified independently, so the original and its copies will not affect each other. An instance, on the other hand, creates duplicates, called "instances" rather than "copies", that share the same information as the original element, so they will be updated whenever the original is modified.
It follows, therefore, that an instance is preferable to a copy when we want to apply exactly the same effect across multiple surfaces. In the example I'm showing on screen, the UV islands of the various maps have comparable dimensions and, most importantly, the layer I want to instantiate is a generic noise layer. It does not contain logos, ornamental patterns, or other effects where size or proportions across different Texture Sets are critically important, so using an instance works perfectly well.
Here I'm demonstrating the feature with a simple Fill Layer, but “Instantiate across Texture Sets” also works with Materials, Smart Materials, and folders, so everything discussed here applies to those cases as well.
Alright, returning to our practical example: after selecting “Instantiate across Texture Sets”, we'll need to specify which Texture Sets in the project should receive instances of the original element. By default, the original Texture Set will appear deselected, but we can select it as well if we want to add an instance there in addition to the original layer. In my case, I select all Texture Sets except the original one, because I don't want to duplicate the effect there.

A new icon will appear next to the original Layer, showing two overlapping white squares. This icon serves as a reminder that the layer is the original source being instantiated across other Texture Sets. In the other Texture Sets, the instances will display a similar icon, but with two overlapping empty squares.

Any modifications should therefore be made to the original layer, and they will immediately be visible in all the corresponding instances.

Be careful: deleting the original layer will also delete all of its instances across the other Texture Sets. Conversely, removing an instance will not delete any of the other instances, nor will it remove the original. There is a clear hierarchy at work here.
Well, that's all for this very short, but hopefully useful, tutorial! See you next time!