Optimization for materials?


I’d like to know what is the most optimal way of going about shading an asset:

a. Is it better to have multiple materials on an asset (such as one material for wood, other for metal… and so on) and there wouldn’t be any need for extra texture for masking, or metallic
b. Is it better to have one material with extra textures for metallic, or mask.

I’d like to know what would be less intensive for the engine?

Any advice would be helpful.

More simpler materials help GPU.
Single complex material help CPU.

So just to be clear, if I make more materials it will be more GPU intensive, and if I make single complex material it will be more CPU intensive?

thank you for your fast reply