public void CompareArrayMethod(Texture2D compareThisImage) { Texture2D[] closestToImage = new Texture2D[allImages.image.Length]; float[] difference = new float[allImages.image.Length]; ColorArray toCompare = (ColorArray)ScriptableObject.CreateInstance <ColorArray>(); toCompare.image = compareThisImage; toCompare.resolution = 10; toCompare.SetArray(); int index = 0; foreach (Texture2D t in allImages.image) { ColorArray newColorArray = (ColorArray)ScriptableObject.CreateInstance <ColorArray>(); newColorArray.image = t; newColorArray.resolution = 10; newColorArray.SetArray(); closestToImage[index] = t; difference[index] = colorDifference(toCompare, newColorArray); index++; } Array.Sort(difference, closestToImage); allImages.image = closestToImage; }