FishNet vs GameNetworkingSockets
FishNet
fish-networking.gitbook.ioGameNetworkingSockets
github.comSide by side
| Figure | FishNet | GameNetworkingSockets |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | Yes |
| Android | Yes | — |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Game Networking Middleware | 8.7 (#3) | 8.2 (#8) |
| Integrations | The community integration list includes voice, server hosting and lobby tools, gameplay extensions, utilities, and Steamworks wrappers; the project says it does not officially maintain these assets or guarantee their support. | Third-party language bindings are listed for C#, Go, and Rust. |
| Purpose | FishNet is a free networking solution for Unity games. | GameNetworkingSockets is a basic transport layer for games that sends reliable and unreliable messages over UDP. |
Plans
In their own words
FishNet
FishNet is a networking solution for Unity games using a client-server model and a server-authoritative design. It supports dedicated servers, while developers can also run a server and client together for development and testing. Users may choose a host, including self-hosting or player-hosted servers, and the free plan has no CCU caps or paywalls. Its high-level API synchronizes state, logic, and objects; events and inheritance provide lower-level functionality. Built-in client-side prediction includes desynchronization smoothing and Rigidbody prediction, and Addressables support covers network scenes and prefabs. Other listed tools include buffered remote calls, area-of-interest controls, configurable SyncTypes, tick-based timing, and broadcasts. Customizable authenticators can require client authentication before server communication. Communication is unencrypted by default; FishyUnityTransport can enable DTLS for UDP or TLS for WebSocket. FishNet costs nothing. FishNet Pro costs $50, paid once and adds lag compensation and automatic removal of sensitive server logic from client builds. The documentation says prediction collider components currently support primitive shapes such as boxes, spheres, and circles.
GameNetworkingSockets
GameNetworkingSockets is a free BSD-3-Clause transport library for games that sends reliable and unreliable messages over UDP. It handles messages larger than the underlying MTU through fragmentation and reassembly, with retransmission for reliable messages. Packets use AES-GCM-256, while Curve25519 supports key exchange and certificate signatures. Peer-to-peer connections can use Google WebRTC ICE for NAT traversal, with an option to plug in a signaling service. Multiple message lanes can share one connection under strict priorities or weighted bandwidth rules. Included diagnostics simulate packet latency and loss and measure detailed statistics. The library is written in C++ and also exposes a plain C interface; third-party bindings are listed for C#, Go, and Rust. Build instructions cover Linux, Windows, macOS, and iOS. Steam is not required for the open-source library, but authentication, signaling, and Steam Datagram Relay remain Steam-only services. Higher-level entity serialization, delta encoding, and compression are not included.