// the find
SoftwareGuy/ENet-CSharp
A improved fork of ENet, a tried and true networking library. C, C++, C# compatible.
A community fork of the ENet UDP networking library's C# bindings, built for game networking where you need reliable-or-unreliable channels over UDP without building that on top of raw sockets yourself. It targets Unity and .NET developers specifically, and it's the native layer underneath Mirror's Ignorance transport, so it has real production mileage in the Unity multiplayer space.
The underlying ENet protocol is proven — channels, sequencing, fragmentation/reassembly, and connection management are handled by code that's been stable for over a decade across many projects, not something reinvented here. It ships dual-stack IPv4/IPv6 support and precompiled binaries for Windows, Mac, Linux, Android, and iOS in Releases, so most consumers don't need to touch CMake at all. Documentation is unusually thorough for a project this size: DOCUMENTATION.md, COMMON-MISTAKES.md, and QUICKSTART-EXAMPLES.md go beyond the README and call out real integration gotchas, including the honest thread-safety breakdown of which types are safe to move across threads and which aren't.
Last push was November 2023 with only 94 stars and 18 forks — this is a niche fork of a fork, and you're betting on one maintainer's spare time to keep it in sync with upstream ENet. Building from source is genuinely painful: platform-specific toolchains (NDK for Android, Xcode for iOS, an NDA-gated SDK for Switch), CMake, and manual per-platform scripts, with no single cross-platform build path. ENet itself is not thread-safe outside a few narrow exceptions (Packet-by-value, Peer.ID, Library.Time), so you're on your own wiring up the ConcurrentQueue/ring-buffer plumbing to pump it safely from a game loop. Console support is effectively absent — PS4/Vita is explicitly declined and Switch requires patches the maintainer can't fully document due to NDA.