How to gradually blend two materials together?
There may be another way but here is one. Let say you have 2 materials that you want to keep separate. If you want to mix them, you need to create a third material. To keep your 2 materials somehow linked to the third, here is what you could do:
Here is your material 1:

Select the chain of nodes before Material Output and press CtrlG to group them. Press Tab to exit the group (CtrlAltG if you ever want to ungroup). Do the same thing for the second material.

Now create your third material, press ShiftA &gt; Group and load the 2 groups you've created. Plug them into a Mix Shader:

To create a transition between group 1 and 2, plug this node chain into the factor of the Mix Shader: (Input) Texture Coordinate &gt; (Vector) Mapping &gt; (Converter) Separate XYZ &gt; (Texture) Gradient &gt; (Converter) ColorRamp. You can control the transition with the needles of the ColorRamp.

Of course you could create the transition with an Image Texture instead of this node chain.
Now if you ever need to change material 1 or material 2 you can open the group in material 1 or material 2 or material 3 and the change will be taken into account into the other materials that have the same group.