Why add a separate Material component on order to add texture to a GameObject?

I’m following a tutorial where you create a coconut for a Coconut throwing game. In the example you have to create a separate Material component (Coconut Skin) in the Coconut (sphere) GameObject and add a Coconut texture to that, when you could achieve the same result by just adding the Coconut texture directly to Materials->Element 0 in the Mesh Renderer component of the Coconut GameObject? Why add a separate Material component?

Any one material can be used by any number of objects, but if you make changes to that material, it changes the look of every one of those objects.

If you need something to look different from everything else, you need a new material.

You cannot assign a texture directly to Materials->Element 0, as you wrote. You can drag a texture onto an object, or in the free space in the inspector, but as you can see it will then automatically create a material which uses that texture, and this material is added to the MeshRenderer instead.

A texture is just an image, with no info about how it should look like (color, lighting, shaders, effects, …). You always need a material for that.

Unity uses a lot of “industry standard” stuff, which is good since a professional who’s never seen Unity will recognize most of the tools right away.

3D Modelling programs all use the Materials method. The texture goes on the Material, adjust other settings, then the Material goes on the object. The Material is even displayed the same way, as that little ball.