Hello!
If you haven’t been keeping up with this, Glenn Fiedler (a know industry expert, having worked on titles such as Titanfall 1+2) has created a proposal for a new protocol called Netcode.IO
Netcode.IO is a secure method of communicating over UDP sockets - secure enough for a browser to adopt as a standard alongside options like WebSockets (which is the primary target of the Netcode.IO proposal - browser adoption).
While it is not available built-in to browsers yet, a third party browser extension allows you to begin using it already (I’ve tested it in Chrome, the Firefox plugin is still pending approval and signing)
So I thought, why not build an API on top of this so that WebGL builds can take advantage of it? So I did that.
But I also decided to create an entire from-scratch implementation of the spec in pure C# (Netcode.IO.NET), and then modified my Unity API to use that.
So what you have is a highly cross-platform API that just seamlessly works between browsers and standalone builds, is a secure connection-based protocol which is extremely easy to use, and is as fast as the fastest games will need (no head of line blocking like you get with TCP and WebSockets).
I wanted to present this here, because it seems like an important step in the evolution of multiplayer on the web. Hopefully we can drive adoption of this model so that we can ditch WebSockets and the inherent lag (and complete unsuitability for some types of games) and have a UDP protocol at our disposal.