Change Material or Change Object?

Say I have two types of blocks. One is red and one is black.

I am curious which is faster / more efficient:

  1. Changing the material on a block to change its color.
  2. Destroying the block and instantiating the other type.

I imagine option 1 is faster, but I wanted to see what you think.


The by far fastest and most draw call efficient method is mesh swapping. To set this up you need a half red/half black texture and two meshes one with UVs on the red half, second on the black. But I imagine this is an overkill for this kind of scenario, so I agree with previous comments - use material.color.