Hi there again!
I’ve tracked down another bug of a line that worked fine in editor and, for some reason, it does it wrong in the build.
Here’s the chunk of code from the scene named VeryFirstSceneEver, I’ll provide an overview about what’s happening nearby it so you can have an idea:
/// <summary>
/// Moves to Quit OR ProtoMenu!
/// </summary>
void MoveOn(){
//Once rendering is over...
if(textBehaviour.Rendered){
//If user refuses...
if(responsibilityRefused){
Application.Quit();
}
else{
//Go cat go!
if(Input.anyKeyDown){
Application.LoadLevel("ProtoMenu");
// StartCoroutine("LoadNext");
}
}
}
}
// IEnumerator LoadNext(){
//
// Debug.Log("Trying to load ProtoMenu, hope this works");
//
// yield return new WaitForSeconds(1f);
//
// line above is the last thing that gets processed, we never reach the one below.
// Application.LoadLevel("ProtoMenu");
// Debug.Log("The call is passed, let's see the effects!");
// }
I’ve tested with Debugs both from editor and from build, the results are:
Editor loads the scene called ProtoMenu every time, both with the Coroutine method ( that I dislike) and the straight one.
Build fails at loading ProtoMenu, and stops giving me feedback as soon as Input.AnyKeyDown is true ( I placed inside it a Debug and I never heard of it), or as soon as yield returns with the coroutine method… Or I should say as soon as 1 second from the start of the coroutine is through.
Now a bonus thing: Even if I can’t leave this scene without freezing, before I call Application.LoadLevel() I create a couple of Directories against which the Preloading Scene of Unity does this check:
if(Directory.Exists(Application.persistentDataPath + "/Scenes Directory")){
Application.LoadLevel("ProtoMenu");
}
else{
Application.LoadLevel("VeryFirstSceneEver");
}
Since those Directories are there, the next time I launch the Build, the first condition is used.
And the first condition loads ProtoMenu scene without a line of warning.
But then a similar pattern occurs: I have to load a 3rd scene from the 2nd scene loaded since game’s launch.
Guess what? the game freezes for each once again.
That’s what makes me believe that something is jamming with Application.LoadLevel();
Thanks a bunch for any suggestions!