Game optimalization/instances question

Hello,
I am learning Unity in a group. We have a disagreement with my teacher about game optimalization.

He says that if you Duplicate an object inside the scene, then it “stays instanced”, so duplicating objects inside the scene is preferred over dragging them in again from your project window.
So he says this method is better:

I, however, do think that it does not matter if you drag and drop the same object again, it is an instance anyways, and duplicating it is a matter of preference, but does not produce more optimal results.
So I say that his method produces the same result as this:

Could you enlighten us, if duplicating a gameobject instead of dragging in again has some hidden optimalization, so it “stays instanced”, that is broken somehow if you drag&drop the same object again?

Thanks in advance,
Kalamona

This isn’t an optimisation thing. Blue = instanced. Instanced = if you change the source prefab, unity will change all the blues in the scene relating to that, except any values on them you manually changed that were serializable (ie scripts, positions etc).

Pay attention to the colour of the object. Blue remains the relationship between prefab and object is still in place.

It doesn’t matter if you duplicate or drag out again and there is no hidden optimisation.

Thanks for your quick answer!

GPU Instancing is another beast, and will become available in 5.4 - this enables you to draw many meshes on GPU but upload minimal properties to the GPU, so saving on draw calls and so forth. This is enabled in the shader. It’s not the same thing as object instantiation.