If I need 2 different materials, and use the same texture in both, is there a difference compared to using separate textures for the materials? One material shader is much more complex than the other material shader.
sparkzbarca’s answer is partly incorrect actually. Both dimensions should be power of 2 values, but they don’t need to be the same value. For example, there is nothing wrong with having a 1024x2048 or even 128x8192 texture, these are still power of 2 textures, and is how sprite sheets are handled, they are almost never square, but rectangle.
To answer OP’s question properly, it depends on what OP would like to do with the objects that have those materials on them. If for example 1 object is in the scene for most of the time, but the object with the other material is spawned in frequently, it would make sense to have it on the same texture atlas. As the game wouldn’t need to keep doing a texture load every time you spawned that object, since an object in the scene is already using that texture file. Or, if they are both usually in the scene together, it makes sense as well. Especially if they are part of the same object/prop/prefeab/etc…
So the answer is that most of the time it is more efficient to bundle the textures like that if you know the whole texture is going to be used in the scene most of the time.