What's the more efficient way to create a bunch of different materials?

I want to learn how to optimize game memory/space. When creating a material should I:

A: Create a material > Convert each texture to a parameter > Create instances of that material and just swap it’s textures

B: Create new parent materials for every different material

Can’t answer your question, but…

Take a look at the M FortniteBase Parent material in the outliner and make an instance of it
Open up the instance and have a look, lots of settings, you can swap the textures out and it also gives the fortnitey stuff like the prop destruction breaking effect and fire.

I’m pretty sure it’s always more efficient to create one master material and use instances when you can. So on my projects I would have one master material for every style of material and then many instances of that. So I might have one master for opaque signs, one for all metals, one for transparent signs, etc. I will usually create a new master when the node setup would be different enough to warrant it.

The UnrealFest UEFN Nike project talk on YouTube covers many memory optimization tips, fyi.

But generally it’s better to use instances when possible for similar materials.

You generally want to have one master material and do instances from that.

But you should do so within reason. If you have two totally different material types, then they should probably not share the same material.

You can also use static switches to group stuff into features in your material. Only paying the cost for it when the feature is enabled.