Your issue occurs because the UV map for the body is named “UVMap”, but the UV map for the head is called “UVTex”.
Therefore Blender assumes that you want to keep them separately (if both had the same name, Blender would join the UV maps as well as the meshes). So, the resulting joined mesh now has two UV maps (UVMap and UVTex). Depending on the export format you choose, maybe only one UV map of these gets exported. Or you will have to tell the target application which UV map to use for which material, just as shajuke suggested.
I tried renaming the uv maps the same that is when it appears fine in blender but trying to unwrap leads to error message object has non uniform scale unwrap will operate on a nonscaled version of the mesh. Naming the uvmaps the same seems to be the worst of the options i have tried.
I have materials from both head and body as you can see in the file is there something im missing?
I want to maintain the unwrap and seperate uv maps once joined as i will be attaching many heads to the same body and don’t want to have to uvunwrap the exact same body over and over.
Went back to trying the material for head body approach and it worked. Exported to unity and it was correct just tried it again and it now no longer works i am doing the exact same thing!!! and it is failing like it has done before wtf blender!!!How can something work once then not again
Ok just when you thought things could not get wierder it turns out if i try merge a fbx file with the body it screws up but if i convert that fbx to obj then merge it works . Not a clue why bad thing apart rom having to now convert all the fbx to obj is that the obj file is twice the size in tems of memory. Any clue why the fbx file file causes this?