GameNetworkingSockets
GameNetworkingSockets is a free, open-source transport library for games that sends reliable and unreliable messages over UDP.
What GameNetworkingSockets is
GameNetworkingSockets is a free, open-source transport library for games that sends reliable and unreliable messages over UDP. It handles messages larger than the underlying MTU by fragmenting and reassembling them; reliable messages can also be retransmitted. For security, it uses AES-GCM-256 per packet and Curve25519 for key exchange and certificate signatures. Peer-to-peer features include NAT traversal through Google WebRTC ICE and the option to connect a signaling service. A connection can use multiple message lanes, with strict priorities or weighted bandwidth sharing. The library includes tools to simulate packet latency and loss, plus detailed statistics measurement. It is written in C++ and offers a plain C interface, with third-party bindings listed for C#, Go, and Rust. Build instructions cover Linux, Windows, macOS, and iOS. Steam is not required, though authentication, signaling, and Steam Datagram Relay are Steam-only services. The library does not include higher-level entity serialization, delta encoding of state variables, or compression.
Good
- Free under the BSD-3-Clause license.
- Supports reliable and unreliable UDP messages.
- Includes NAT traversal through Google WebRTC ICE.
- Provides tools to simulate latency and packet loss.
- Build instructions cover Linux, Windows, macOS, and iOS.
Watch out
- Does not include entity serialization, delta encoding, or compression.
- Steam-only services include authentication, signaling, and Steam Datagram Relay.
- Console and mobile code access requires contacting Valve.
Who it suits
It suits developers building game networking who need UDP messaging, peer-to-peer options, or traffic diagnostics. Its C++ core and C interface may fit projects using the listed language bindings.
Verdict
GameNetworkingSockets provides transport-level networking features and diagnostics for game developers. Teams needing higher-level state handling or compression will need to account for those omissions.
Plans and prices
From GameNetworkingSockets's own pricing page, checked 7 Oct 2001.
| Plan | Price | What it gives you |
|---|---|---|
| Open-source library | Free | BSD-3-Clause license · Steam Datagram Relay access is restricted |
The facts
Each one read from GameNetworkingSockets's own pages, with the date it was checked.
What it does
- Build targets
- The project’s build instructions cover Linux, Windows, macOS, and iOS.checked 7 Oct 2001
- Connection controls
- It supports multiple message lanes on one connection, with strict priorities or weights for sharing bandwidth.checked 7 Oct 2001
- Diagnostics
- The library includes tools for simulating packet latency and loss, plus detailed statistics measurement.checked 7 Oct 2001
- Encryption
- It uses AES-GCM-256 per packet and Curve25519 for key exchange and certificate signatures.checked 7 Oct 2001
- Integrations
- Third-party language bindings are listed for C#, Go, and Rust.checked 7 Oct 2001
- Language interfaces
- The library is written in C++ and also provides a plain C interface for bindings to other languages.checked 7 Oct 2001
- License
- The repository identifies its license as BSD-3-Clause.checked 7 Oct 2001
- Message handling
- It supports messages larger than the underlying MTU through fragmentation, reassembly, and retransmission for reliable messages.checked 7 Oct 2001
- Not included
- The library does not provide higher-level entity serialization, delta encoding of state variables, or compression.checked 7 Oct 2001
- Peer-to-peer
- Its P2P features include NAT traversal through Google WebRTC ICE and support for plugging in a signaling service.checked 7 Oct 2001
- Purpose
- GameNetworkingSockets is a basic transport layer for games that sends reliable and unreliable messages over UDP.checked 7 Oct 2001
- Security reporting
- The security policy asks researchers to report vulnerabilities privately through HackerOne rather than as public issues or pull requests.checked 7 Oct 2001
Where it runs
- Cross-platform availability
- Valve says the library has shipped on consoles and mobile platforms, but states that access to that code requires contacting Valve because it cannot be distributed in this repository.checked 7 Oct 2001
The company
- Steam dependency
- Steam is not required to use the open-source library, though Steam-only services include authentication, signaling, and Steam Datagram Relay.checked 7 Oct 2001
Alternatives to GameNetworkingSockets
- 1

Colyseus
Free planOpen sourceAndroidiOSWebAPI8.5From $15 a month - 2

Unity
Free planAndroidiOSWebLinux7.8Free plan - 3

Normcore
Free planAndroidiOSWebLinux7.5From $49 a month - 4

Photon Realtime
Free planAndroidiOSWebAPI7.5From $0.29 a month - 5
SmartFoxServer
Free planAndroidiOSWebAPI7.5From €32.50 a month - 6

Photon Fusion
Free planAndroidiOSWebLinux7.4From $0.50 a month
