SceneManager V2 - Scenes Reborn! #520
Replies: 3 comments 1 reply
-
Your ideas have thus far been fantastic, but this is a lot to take in and a huge change. I'm not sure when/if time will be found for this one. |
Beta Was this translation helpful? Give feedback.
-
Confirmed in V5. Added to roadmap. |
Beta Was this translation helpful? Give feedback.
-
Additional changes/enhancements.... Current: if there are no global scenes clients are automatically added to the first scene and a 'no scenes' packet is sent. In result client loaded start scenes invokes. Change 1: server loads first scene as global, and clients get a global load scene packet instead. Benefits: this results in the standard scene load/unload expectations, including received messages, rather than silently adding a client to the non networked start scene. Change 2: devs can intercept and stop these default behaviors. Benefits: if devs don't want global scene but rather a per connection scene devs can take this opportunity to send a scene load for a connecting client. This also means devs will be able to prevent the 'client loaded start scenes message' until they're ready to give the client a scene. Potential dangers: no foreseen issues. Notes: if devs do not take the opportunity to implement 'change 2' then 'change 1' becomes the default. Load/Unload connection/global scenes will be removed. There can simply be a global scene marker in the load/unload data. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This is a general Feature Request that is asking for a Overhaul/redesign to the current Scene Manager.
This overhaul is based around adding the addition of a "NetworkScene" Class object that can hold a reference to the unity scene that it is attached to, as well as all of the current Network Settings of that Scene.
Will add to it over time and discussion :)
Network Scene Example
Potential New Features/Changes
Loading/Unloading Scenes
Gone are the days of GlobalScene loading and Connection Scene Loading. There is only loading Network Scenes.
New Scene Load/Unload Data
Here is an example of a new overhaul of the SceneLoadData();
New NetworkSceneSettings
Loading New Network Scenes
Removing LoadGlobalScenes and LoadConnectionScenes for LoadNetworkScene(sld,networkScenes); and
Loading Existing Network Scenes
Awaitable Scene Loads/Unloads
While normally loading scenes with SceneManager is asyncronous, they are not awaitable.
So make a LoadNetworkSceneAsync () that allows you to await for scene loads if you like that work flow better!
Many of this capability can be done through the events, but some people may enjoy an await system better.
Allowing both options would be the improvement to SceneManagerV2
Beta Was this translation helpful? Give feedback.
All reactions