Does the sequence in which I keep the objects in a scene matter really?
I am a beginner in Unity. So please go easy on me. I built a game and put restart buttons in Pause screen and Game Over screen. I made two different restart buttons for these two screens. Now the functionality of both the buttons are obviously the same. So the onClick functions were also kept same. But then I noticed that the restart button in the Game Over screen was not working, but the one in the Pause screen was working perfectly. After some hit and trials, I found that if I keep the FinalRestart button below FinalMainMenu button then the restart button in main menu works fine. But I actually made the FinalRestart button before the FinalMainMenu button. Now can somebody please explain how is the sequence if the objects depend on their functionality? And if it depends somehow, then why?
Answer by HenryStrattonFW · Jan 28, 2017 at 12:07 PM
In short, yes and no.
To expand on that, No the order in which unity initialises your objects is not deterministic, and will not necessarily be the same on different devices (and potentially not even on the same device across multiple runs, not tested that myself). So objects may initialise in different order, and this order is not (from my experience) based on the order of objects in the scene hierarchy.
That being said, the impact that this order of initialisation has on your project will depend entirely on what your scripts are doing, and how they are doing it. It's hard to know how/why this is effecting you without seeing the scripts in question.
Unity does provide some support for forcing the order or execution of scripts, but that to my knowledge is only on a script type basis, and not an object basis.
Your answer
Follow this Question
Related Questions
UI Button OnClick Only Works the First Time 2 Answers
Unity Broken Buttons 0 Answers
How do I change a state in an FSM with an UI button? 0 Answers