Choosing A Network
The core Dissonance package does not include any network - instead Dissonance relies on integrations with other network systems to send and receive data. This gives you a lot of flexibility in choosing how you want voice data to be sent over the network. If none of the existing integrations are suitable for you you can also write a custom network integration.
Free Integrations⚓︎
Dissonance has support for 10 network systems. All of these packages can be downloaded from the asset store for free and receive support as part of Dissonance.
- Mirror Networking
- Unity Netcode For GameObjects
- UNet HLAPI
- Dark Rift 2
- Forge Remastered
- Photon Unity networking (2)
- Photon Bolt
- TNet3
- Steamworks.NET (P2P)
- WebRTC Network (P2P)
There is also a community developed and maintained package for Fish Networking, available from GitHub.
My Application Already Has Networking⚓︎
If you already have a network system set up in your application then simply sending voice through that system is the easiest option. If there is an integration package listed above for your networking system it is recommended to use that.
However, if there is no available integration package then there are two options. The first option is to build your own custom network integration. Dissonance includes base classes which can be extended to create a new network integration relatively easily - all that is required is writing the code to send packets, receive packets and inform Dissonance about session events (leave/join/connect/disconnect etc). This requires that your networking system supports Unreliable & Unordered packets (e.g. UDP), TCP is not suitable for high quality voice chat.
The second option is to establish another network session just for voice, using one of the existing integrations. Any integration can be used for this.
My Application Does Not Have Networking⚓︎
If you do not have any network system already set up in your application then you can choose any supported network integration.
Which One To Choose?⚓︎
Mirror⚓︎
Mirror is a community built replacement for UNet. If you are just starting out with Unity networking, this is our recommendation.
- Discord
- Client/Server
- No CCU limit
Fish Networking⚓︎
Fish Networking is a free open source, easy to use, feature rich networking library for Unity. Dissonance has support for Fish networking through a community developed integration package, available here.
- Discord
- Documentation
- Client/Server
- No CCU limit
Unity Netcode For GameObjects⚓︎
Netcode for GameObjects is the new multiplayer solution developed by Unity.
- Documentation
- Client/Server
- No CCU limit
Forge Remastered⚓︎
Forge Remastered is a free networking system available on the asset store.
- Discord
- Client/Server
- No CCU limit
Dark Rift 2⚓︎
Dark Rift 2 is a free networking system available on the asset store.
- Discord
- Client/Server
- No CCU limit
- Standalone server - does not require Unity on the server
TNet3⚓︎
TNet3 is a networking and serialization system available on the asset store.
- Discord
- Client/Server
- No CCU limit
Photon Unity Networking 2⚓︎
Photon Unity Networking 2 is the upgrade to the very popular Photon Unity Networking asset. It is a free (up to 20 CCU) networking system available on the asset store.
- Forum
- Photon Cloud Hosting
- CCU Limit (20 free)
Photon Fusion⚓︎
Photon Fusion is a new network package from the developer of the very popular Photon Unity Networking asset.
- Forum
- Photon Cloud Hosting
WebRTC Video Chat⚓︎
WebRTC Video Chat is a p2p networking, voice and video chat application. This integration uses just the networking part of the asset to carry Dissonance voice traffic - it does not integrate in a way that allows WebRTC Voice Chat
and Dissonance Voice Chat
to understand each other. This can be used to quickly set up a fully p2p chat session requiring only a very lightweight session server (which carries no voice traffic).
- Full P2P
- No CCU limit
UNet HLAPI⚓︎
UNet is the deprecated Unity networking system. It is not recommended to use this for new applications.