For example, I have imported a asset, made by me, from Blender into Unity which has no colour or textures applied to it. I want make the object have sections of metal and sections of wood texture on it. Can I do this in Unity, or do I have to do it Blender?
You must apply your materials in Blender first :
https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Multiple_Materials_Per_Object
Then, when importing the model into Unity, the MeshRenderer attached to the game object will have its materials
array filled with multiple materials (the ones you have assigned in Blender) you will be able to change afterwards :