The material animation is created from a procedural texture node material which creates the pattern for the interpolation between the two materials. I then feed that procedural texture into a custom node material that contains the PBR metallic roughness blocks which are fed by two textures per input. This allows me to assign the textures I am morphing to and the current texture to the shader and then animate a float driving a smooth step of the procedural texture fed into the gradient of the interpolation between textures.