When switching between scenes it loads up a new server (or attempts to). Is there a way to switch between scenes without that? As in the normal way in a game engine, loading between levels. Or is there another way to load between levels that does not force you to include it in the current map/scene?
"A game can be made up of many scenes (e.g. main menu, tutorial, different levels) that display different information, and usually there is some way for a Player to get from one scene to the other. Transferring between scenes as a player is like transferring between games and there will be a loading screen."
I'm well aware of this, hence the question. Let me refraise it, how does one switch between 'scenes' (not core scenes)? Does one simply expand the original world loaded, increasing the initial load time, or am i missing something here? I'm not talking about UI displays which can simply be made (in)visible, but about switching between different parts of a world.
If they are big enough then yes you need to start a new 'game/scene', however on a smaller scale this causes unneeded load times.
Sorry, I seem to be misunderstanding what you are referring to.
A "map" can only be so big, I use the term "map" because that's how I basically see scenes, and I am assuming that the core developers saw that creators were needing a way to switch from map to map without the need to create multiple "games" having to load multiple data sources and using shared storage.
If you are trying to create a seamless transition from map to map, like WoW does, it's not possible under the current restrictions.
I did read somewhere here on the forums that you can increase the voxel size to map the map seem bigger, but you can only have a single terrain that has collision, and there can only be 4 materials that can be on said terrain.
If I am still not understanding what you are getting at, maybe give a example of a game so I can wrap my brain around it.
I'm just a beginner but I think you could make the map bigger and then just teleport the player(s) to a desired part of this map. However you are then limited by the networked objects. If you don't have many of them, this should work out.
If you want to make it look like several levels instead of one big map, you should try to design the game in a way which hides the other areas somehow. Like with walls, foliage or maybe even some kind of reflecting materials or illusions or something like that.
Maybe you could also work with several "flying" platforms and create your areas on them. Hiding specific parts of such a world would be easier then. Think of some vertical alingend platforms / areas.
The only other way around would be working with scenes / child games I think. Scenes would be preferred tho.
However, i'm just a beginner and this is just my input on what I understood about Core so far.
Hope this helps
I want to add another way of swiching levels. Found this on Discord:
Grouped CoreObject
Game State Geometry
It should be possible to spawn and despawn level geometry at runtime.
Here are the steps (second discord link):
- put all the level in a group folder,
- right click it make a new template
- drag and drop the Game State Geometry from the Core content in the Hierarchy,
- in its properties you have to drag and drop the template you created (you have to find it in the project content)
- you can delete the group folder you used to create the template as it will spawn a new one for you
- In the properties of the Game State Geometry you can check when you want your level to be spawned