Skip to content
SPECIFICTION
Get listed

GameNetworkingSockets

github.com

Free plan WindowsmacOSLinuxiOSAPISelf-hosted
Visit github.com
Spec score 8.2 #8 of 29 in Game Networking Middleware

What it is

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.

Spec sheet

Purpose
GameNetworkingSockets is a basic transport layer for games that sends reliable and unreliable messages over UDP.Read 7 Oct 2026 · github.com
Integrations
Third-party language bindings are listed for C#, Go, and Rust.Read 7 Oct 2026 · github.com
License
The repository identifies its license as BSD-3-Clause.Read 7 Oct 2026 · github.com
Build targets
The project’s build instructions cover Linux, Windows, macOS, and iOS.Read 7 Oct 2026 · github.com
Connection controls
It supports multiple message lanes on one connection, with strict priorities or weights for sharing bandwidth.Read 7 Oct 2026 · github.com
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.Read 7 Oct 2026 · github.com
Diagnostics
The library includes tools for simulating packet latency and loss, plus detailed statistics measurement.Read 7 Oct 2026 · github.com
Encryption
It uses AES-GCM-256 per packet and Curve25519 for key exchange and certificate signatures.Read 7 Oct 2026 · github.com
Language interfaces
The library is written in C++ and also provides a plain C interface for bindings to other languages.Read 7 Oct 2026 · github.com
Message handling
It supports messages larger than the underlying MTU through fragmentation, reassembly, and retransmission for reliable messages.Read 7 Oct 2026 · github.com
Not included
The library does not provide higher-level entity serialization, delta encoding of state variables, or compression.Read 7 Oct 2026 · github.com
Peer-to-peer
Its P2P features include NAT traversal through Google WebRTC ICE and support for plugging in a signaling service.Read 7 Oct 2026 · github.com
Security reporting
The security policy asks researchers to report vulnerabilities privately through HackerOne rather than as public issues or pull requests.Read 7 Oct 2026 · github.com
Steam dependency
Steam is not required to use the open-source library, though Steam-only services include authentication, signaling, and Steam Datagram Relay.Read 7 Oct 2026 · github.com

Plans and prices

Open-source library Free BSD-3-Clause license · Steam Datagram Relay access is restricted Read 7 Oct 2026 · github.com

Every GameNetworkingSockets plan and price →

Strong points and limits

Strong points

  • Reliable and unreliable UDP messaging
  • AES-GCM-256 packet encryption
  • NAT traversal through Google WebRTC ICE
  • Priority or weighted message lanes
  • Latency and loss simulation tools

Limits

  • No higher-level entity serialization
  • No delta encoding of state variables
  • No compression included
  • Steam Datagram Relay access is restricted

Who it suits

It suits game developers needing a UDP transport layer with reliability options, encryption, peer-to-peer networking, and diagnostics. Teams needing built-in state serialization or compression will need other components.

Verdict

GameNetworkingSockets covers core encrypted UDP transport across several desktop and mobile development targets. Its deliberately low-level scope means serialization, compression, and some Steam services remain outside the library.

Where Specifiction places it

Alternatives to GameNetworkingSocketsAll alternatives →