Find can only be called from the main thread

Just upgraded to unity 3.1 from 2.6

what does this exception mean?

ArgumentException: Find can only be called from the main thread. Constructors and field initializers will be executed from the loading thread when loading a scene. Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function. myclass..ctor ()

however the class does not have a ctor (other than the default).

I am working in c#

the code still works perfectly so i'm a little confused if i need to worry about this or not?


This means that you are calling Find() from a thread other then the main thread. All UnityEngine functions will only work when called from the main thread. You should worry about this, as it means your code will probably not function as designed.

this error can be resolved by not asking Unity to something before it has not finished doing something else. for instance, don’t start a database query and try to start instantiating prefabs in the middle of the query. store the data from the query in an array. after the data has been downloaded loop thru the array and instantiate the prefabs.

the main thread seems to be at the start() or update() level.