Legacy
- In legacy EDIVE, we used Mirror Networking, but it turned out that the framework can be pretty unstable at times; the support is also pretty unresponsive and lacks a robust community.
- We replaced the Mirror with Fishnet in new versions
- Fishnet is much more versatile and stable, plus the concepts are pretty much identical.
Info
What Is FishNet? | Fish-Net: Networking Evolved
- Fishnet is built as modular as possible, with a separate management component for each case
- We made
MasterNetworkManager to make an abstract wrapper around these components to serve as a single master manager for the network
- It's currently preferred to use other managers for single purposes
- Scene manager for scene handling -
NetworkSceneManager
- Player manager for connecting players and their instances -
NetworkPlayerManager
Master Network Manager
MasterNetworkManager is a simple MonoBehaviour managing fihnets managers
- Registered as a service Managers & Services
- Invokes signals (events) so we don't need to place stuff directly in this class
- We can now make additive classes that listen to major networking events
Network Scene Manager
- Currently, does not do much more than Mirror’s
NetworkManager
- It loads scenes asynchronously and allows additive scenes.
- One online scene and one offline scene
- Hopefully will be extended to load additive content in the future
- Registered as a service Managers & Services
Network Player Manager
- Takes care of instantiating players, initializing them, and other interactions that require management
- Registered as a service Managers & Services