GameObject.FindGameObjectsWithTag problems

I am trying to change some texture’s offset values of some butterflies’s wings . The wings are tagged as “wings”.

When I run this script I receive this error:
UnityException: You are not allowed to call this function when declaring a variable.
Move it to the line after without a variable declaration.
If you are using C# don’t use this function in the constructor or field initializers, Instead move initialization to the Awake or Start function.
ButterflyColor…ctor ()

using UnityEngine;
using System.Collections;
 
public class ButterflyColor : MonoBehaviour {
 
	public GameObject[] wings = GameObject.FindGameObjectsWithTag("wings");
	
	    public void SetButterfliesColorsValue(string myButterflyVal){
 		
          foreach (GameObject wing in wings) {
       
 
		       if (myButterflyVal == "blue") {
		       wing.renderer.material.mainTextureOffset = new Vector2(0, 0);
		       }
		      else if  (myButterflyVal == "orange"){
		       wing.renderer.material.mainTextureOffset = new Vector2(0.25F, 0);
		       }
		       else if (myButterflyVal == "yellow"){
		       wing.renderer.material.mainTextureOffset = new Vector2(0.5F, 0);
		       }
		       else  {
		       wing.renderer.material.mainTextureOffset = new Vector2(0.75F, 0);
		       }
    }   
}
	
}

What is wrong?

Thank you in advance :wink:

Methods/functions cannot be called when declaring a variable. That is :

GameObject obj = GameObject.Find(“Object”);

will not work EXCEPT!!! if you do so in a function.

void Start(){
   GameObject obj = GameObject.Find("Object");
}

will work. BUT!!! keep in mind the variable reference obj is destroyed at the end o fthe function so if you need outside of it you declare it outside the Start function.

For your case that goes:

using UnityEngine;
using System.Collections;
 
public class ButterflyColor : MonoBehaviour {

   public GameObject[] wings;
   void Start(){
      wings= GameObject.FindGameObjectsWithTag("wings");
   }
   public void SetButterfliesColorsValue(string myButterflyVal){
      //Your implementation
   }
}

Thank you very much fafase!! From the bottom of my heart, you have saved my day!!! The colors of all butterflies are changing perfectly now!!