private void SetLayerRecursive(GameObject g, string layerName)
 {
     foreach(Transform t in g.AllChildren().Union(new []{ g.transform }))
     {
         t.gameObject.layer = LayerMask.NameToLayer(layerName);
     }
 }