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