Super Netcode
Super Netcode is an easy-to-use, self-hosted networking solution.
✅ Low Level Transport ✅
At its core is the low level transport over UDP written from scratch which supports reliability, encryption, authentication, compression, P2P, Mirror, accurate timings, and much more. If you're comfortable with coding, you can only use the low level transport and write your own spawning and synchronization logic, or you can use the provided network component system that was built on top of the transport.
✅ High Level Network Component System ✅
With the network component system, you can easily spawn and synchronize objects with no coding required. There are several already written components for you to use for synchronizing transforms, rigidbodies and animations. These components use smooth interpolation and only send updates when necessary to save on bandwidth. You can also extend the system by writing your own components which handle synchronization in the way you want.
Technical details
- Unlimited connections
- Smooth synchronization of transforms, rigidbodies and animations
- Lag compensation by rolling objects backwards through time
- Easy to use Unity Components with no coding required
- Fully documented clean and simple code
- Entire source code included, no third party libraries
- Can be compiled without Unity for dedicated servers
- Multiple examples including a 3D game with a server list
- Modern asynchronous code using TPL (async/await) without any threads
- End to end encryption with Diffie–Hellman key exchange
- Authentication of secure servers with public key cryptography
- Peer to peer connections without port forwarding with UDP NAT hole punching
- Send mechanics for reliability, order, duplicate prevention, timings, etc.
- Accurate timing of messages for time sensitive applications
- Automatic combining of messages to save on bandwidth
- Automatic fragmentation and recombination of large messages
- Fast compression of packets based on the DEFLATE algorithm
- IPv6 support, 255 data channels, CRC32 error checking
- Connection statistics for hosts and peers
- Broadcast messages to all machines in local network for host discovery
- Supported platforms: Windows/Mac/Linux/Android/iOS/UWP
- Support for serializing common Unity types (Vectors, Colors, ...)
- IL2CPP and .NET Core support