- Home /
Random Function Script doesnt seem to work outside of editor
Hello I had taken the coding from this question http://answers.unity3d.com/questions/158199/choosing-random-function.html (Eric5h5's answer, not the long one,) and I ended up making this script out of it:
var functions = [thing1, thing2, thing3];
var ting1 : GameObject;
var ting2 : GameObject;
var ting3 : GameObject;
function Start ()
{
functions[Random.Range(0, functions.Length)]();
}
function thing1 ()
{
ting1.active = true;
}
function thing2 ()
{
ting2.active = true;
}
function thing3 ()
{
ting3.active = true;
}
It seems to work fine and when I check it in the editor it does work with no errors or notifications, however outside of the editor in the actual build it does not work at all. I'm thinking it could be an error with converting my project with unity 5 because I remember the builds of unity 4 the script seemed to work, however I cannot recall correctly. Is there any error with this that I'm just over looking?
Answer by meat5000 · Jul 19, 2015 at 12:53 AM
I looked in to this and tried your script.
As you stated it worked in editor but not in build.
I enabled the dev console and found these errors:
Looking in to it further it quickly becomes apparent that it is an issue of Serialization.
Consequently, you can fix this by simply making your collection Private :
#pragma strict
private var functions = [Thing1, Thing2, Thing3];
var ting1 : GameObject;
var ting2 : GameObject;
var ting3 : GameObject;
function Start ()
{
functions[Random.Range(0, functions.Length)]();
Debug.Log(functions.Length);
}
function Thing1 ()
{
ting1.SetActive(true);
}
function Thing2 ()
{
ting2.SetActive(true);
}
function Thing3 ()
{
ting3.SetActive(true);
}
Private fields don't get Serialized.
Your answer
Follow this Question
Related Questions
BCE0019: 'ButtonAction' is not a member of 'UnityEngine.Component'. 1 Answer
Failed to re-package resources (Android build) 0 Answers
Unity Project wont build 1 Answer
Index out of range for no reason? 1 Answer
Why can't I build Web Player in Unity while I have no problems with building standalone versions? 2 Answers