Is there such a thing as "too many materials" ?? Is there a limit?

I was watching a YouTube tutorial on how to import objects into Unreal that have multiple materials applied to them, and I heard them mention that having a lot of objects with many material applied to them will use a lot of draw calls. Is there any truth to this?? Is there a limit on how many material you can use? (The video was from 2015, so I’m not sure if it’s still relevant)

I’ve also read that using material instances as opposed to new materials might save on draw calls, but am not sure if changing the diffuse and normal map of the material instance will be end up being just as taxing as just making a new material entirely.

I’m estimating my game will have around 1000-4000 materials (in total, but there will probably only a few hundred per level).
And I’m trying to make it so my game is playable on a relatively low end 2GB GDDR5 graphics card (like an RX 460 or GTX 1050) , just to give you an idea. (to make it more accessible to most players)

Do you have any advice how to optimize the game?

Each material adds a draw call even if it’s an instanced material, so you’ll want to keep that number down and not add separate materials unnecessarily. I believe the limit for the number of materials per object is 32

Does the resolution of the diffuse/normal map affect performance? I think the majority of textures will be 512x512 for my game.

Yes, the textures get loaded into the GPU so there’s a limit in memory how much you can store, but it also affects performance in different ways.