Hey!
Spent the whole day on it. I have found the solution to render metal on a loaded gltf model :
var reflectionCube = new THREE.CubeTextureLoader().load( urls );
avatar.traverse( function ( child ) {
if ( child instanceof THREE.Mesh ) {
child.material.envMap = reflectionCube;
child.material.envMapIntensity = 0.7;
// add any other properties you want here. check the docs.
}
} );