Socket.IO V3 / V4 Client Basic (Standalone & WebGL)

by [email protected]

This Asset enables you to use the most common Socket.IO Version 3 (including 3.0) or Version 4 features as a networking backend to connect to your game servers or other services.

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 V3 / V4 Client Basic (Standalone & WebGL)” for FREEPlease 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 V3 / V4 Client Basic (Standalone & WebGL) v1.4.2

VIP Only

This asset 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.

The library supports Receiving and Emitting events with zero or one data parameter (which can be a JSON object) as simple as.

JSON-Object-Data which is received from the server is serialized into a string (JSON format). Plain text data is passed through unmodified.

Binary payloads are not supported (You can encode them as Base64). Acknowledgements are also not supported.

This library is ready made for simple Event-Based communication. It is not aiming to be a complete socket.IO implementation. It does further not support namespaces.

There may be minor differences in handling technical events (like connect, disconnect, connect_attempt, …) comapred to the JS library AND between Native/WebGL implementations but we try to keep it aligned as near as possible.

BASIC versus PLUS

This “BASIC” asset is designed for a quick implementation and lacks some more advanced features. The “PLUS” asset is more feature-complete but also more technical regarding it’s implementation (still quite easy though). The PLUS asset will be released in late Q1/2023.
Technical details

Want to peek the documentation? Click here!

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 importand events like connect, disconnect, connect_error, reconnecting, …
Supports automatic reconnect on connection drop
Supports changing the server side path from /socket.io/ to anything you want
Supports sending authentication handshake data to the server
Uses inverted Ping (v3 and v4 feature a more reliable ping implementation compared to v2)
Completely rewritten Watchdog in native mode
Many optimizations on native implementation compared to v2
Developed and tested under Unity 2020.3 LTS
No compiled DLL. Includes full source code
Various Sample projects with client and server code included
We do strongly recommend using Newtonsoft JSON along with this asset.

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.

The native implementation does only support websocket transport. Long-Polling is not supported. The WebGL implementation tries websocket first and implements a fallback to long-polling.

The native Socket.IO implementation of this asset uses some MIT-Licensed code from Fabio Panettieri and Peter Braith. This code is bundled in a seperate folder and a license header is included. If you are not a licensee of this asset but want a copy of the MIT-Licensed code, you can file a request to our support address.

The Asset is tested on WebGL, Windows, Linux, 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, as the reviews confirm.

 

Related Posts

Leave a Comment