Material.clone behaviour

Does material.clone fully copy all the parameters of the source material?

It seems like maybe for skinned mesh, the new material that is assigned might have to be the same Shader?

Yes, it does do a full clone including shader reference.

If it doesn’t work for skinned meshes, that sounds like a bug. Is it possible that this appears independent of the clone and happens on any material switch on skinned meshes?

I was able to switch the material of one skinned mesh to point to a clone of a different skinned mesh, so it seems like switching IS possible. But when I try to switch it to a material (with same shader) that is defined in the Editor (rather than copied from a similar model) then the switching does not work.
There are not errors in console, but nothing seems to be drawn where the mesh should be

This was indeed a bug in the assignment of materials to skinned meshes. It will be fixed in the upcoming 0.8.10.

As a workaround for versions before 0.8.10, you can:

meshComp.material = newMat;

const skin =; = null; = skin;