This is more of a feature request and general question rather than a specific scripting question…
The basic issue is that a game almost always consists of more than one scene with common data or a common controlling class. So my natural assumption is that there should be a way to subclass the Application class and place common functionality such as a data manager, game start / stop logic, file reading / writing, etc. in that class rather than in any one scene. I realize you can put this kind of thing in your first scene and make a static class or function and use “DontDestroyOnLoad” to maintain across scenes. But it seems like a kludge. Your manager code is still dependent on being initialized from a scene.
Does anyone have a good answer why Unity took this approach and why there isn’t a “scene superclass” that allows such management outside of scene code, and without using DontDestroyOnLoad? Maybe the answer is “efficiency” and “speed of execution”, but to me it seems like an oversight and shortcoming of the architecture.
Just my $.02.
– Brian