public static void SetDetails(this Terrain t, Rect rect, int[, ,] detailData) { var layerCount = detailData.GetLength(2); for (var i = 0; i < layerCount; i++) { int[,] thisLayer = new int[detailData.GetLength(0), detailData.GetLength(1)]; detailData.CopyTo(thisLayer, i); SetDetails(t, rect, thisLayer, i); } }