If I have fifty enemy gameobjects in my scene, all identical to each other, and the models of each are 40KB, will each of those be stored in memory (total 2MB) or will Unity just store one copy of the model in memory and reference it for all of them?
It will use one copy of the model; that’s why sharedMesh exists. If you change sharedMesh, you change the mesh on all models that use it.
I think that if they exist as separate gameobjects, Unity will not take them as one and the same but store different copies of each. But this can be easily fixed by creating a prefab of one object and simply instantiating clones.
Or am I mistaking?