This Asset enables you to use Socket.IO Version 4 as a networking backend to connect to your game servers or other services. Including Acknowledgements, Binary messages and Namespace Multiplexing
For more detail this asset from the Unity Asset Store: Click Here
This is a paid asset, but now you can download the “Socket.IO V4 Client PLUS (Standalone & WebGL)” for FREE. Please keep in mind that this package is provided only for learning purposes or to test before buying the product, NOT FOR COMMERCIAL PURPOSES.
Socket.IO V4 Client PLUS (Standalone & WebGL) v1.2.0
“If possible, please buy the package to support the developer”
Description
It implements an easy to use API for communicating to any socket.io powered backend like for example NodeJS microservices using the standard On/Emit Methods.
This implementation is brand new. It is a complete rewrite compared to our existing “Basic” solution. If you happen to find a bug please contact our support, we are quick. Promised!
The library supports Receiving and Emitting events with zero, one or even more data payload parameters as simple as.
While our BASIC asset is even a bit more simple to use, it does not support namespaces, more than one payload and many more features which THIS asset actually DOES support.
Welcome to the new era of Socket.IO for Unity!
There may be minor differences in handling technical events (like connect, disconnect, connect_attempt, …) comapred to the JS library but we try to keep it aligned as near as possible.
Technical details
You can peek the online documentation here! Including a feature comparison matrix of our Socket.IO assets.
Compared to other Socket.IO-Assets available, our implementation has the following advantages:
Supports Standalone and WebGL builds
Supports multiple connections/instances at the same time for both implementations.
Uses the newer JSLib implementation for WebGL-Support instead of deprecated APIs
Supports most important events like connect, disconnect, connect_error, reconnect_attempt, …
Supports automatic reconnect on connection drop
Supports changing the server side path from /socket.io/ to anything you want
Uses inverted Ping (Socket.IO v3 and v4 feature a more reliable ping implementation compared to v2)
Developed and tested under Unity 2021.3 LTS – Should also work on newer and older versions
No compiled DLL. Includes full source code
Includes a Sample project
This is what our BASIC asset also does.
Now what makes the PLUS asset better? Read on:
Supports connection multiplexing (aka namespaces, PLUS only feature)
Supports Binary Payloads (PLUS only feature)
Supports Acknowledgements (duplex messaging, PLUS only feature)
Supports sending authentication handshake data to the server – per namespace – using a delegate (BASIC only supports static credentials). This means, you can now for example refresh a token before connecting!
Supports raising reconnect delays to prevent hammering the server
Identical protocol implementation in WebGL and native mode. No more differences per platform! (PLUS only feature)
Completely redesigned Watchdog to detect websocket disconnects quickly.
Work with simple messages (zero/one payload) without needing extra code (deserializing etc, PLUS only feature)
Send and receive events with multiple payloads (advanced, PLUS only feature)
The PLUS implementation does not rely on outdated external code. It is a complete rewrite!
This asset requires Json.Net which is now included in Unity from 2021+ and can easily be installed in older versions.
As told in the title, this asset implements Version 3/4 of the Socket.IO protocol. If your server uses Version 1 or 2, you can not connect.
This implementation does only support the websocket transport. Long-Polling is not supported.
The Asset is being tested on WebGL, Windows, Editor.
It should work flawlessly on any common platform. Mobile platforms are working based on customer feedback – but we do not test against them. We also can not test against consoles but we expect it to work there, too.
If you are using our Asset on any untested platforms, feel free to report any issues! We’ll do our best to solve them.




