Should I keep my entire game on 1 Scene or should I create multiple Scenes?
If there is only 1 Scene, will I have to create multiple cameras or do I just need 1?
This is partly a design question, as you can create basically the same game using an approach with more or less scenes, as you seem fit. A common use of scenes is for example menus; so the start menu, settings menu, main game, they could all be different scenes. But you could also achieve the same thing by having it all in one scene and enabling / disabling the correct objects for transitions.
The difference between these approaches is scene complexity, which mainly affects two things. Firstly, if you keep everything in one scene, the loading time will be longer and the used memory will be higher. If you split it into multiple scenes this allows you to only load what you currently need. Secondly, keeping a lot of stuff in one scene makes the scene more complex, ie harder to work on as it will contain a lot of irrelevant object to whatever feature you are currently working on, potentially slowing down development progress.
There is advantages and disadvantages to both. For level based games it probably makes sense to keep each level as its own scene, as you can just instantiate the player to that scene and do usually not have to keep track of a lot of persistant data. In an open world game on the other hand, there is a trade-off between memory allocation and adding loading screens, so it’s basically a case-to-case decision.
What you “should” do depends on what specifically you are attempting to do, and even then that does not mean that you couldnt do it any other way.
The answer to this is “Yes.” One scene works for a while, then it can get unwieldy.
Remember that it is software, so whenever you begin to feel too much is in one scene, split it up.
Remember also you can additively load scenes, which gives you even more power.
You could have a game scene that additively loads the following:
- player
- the main game UI / HUD
- the player’s inventory
- the level itself
- the enemy manager
Once all those scenes are loaded the scripts within them would search the loaded scenes looking for parts they are interested in, connect everything up and start to do business.