Socket.io is a performant real-time bi-directional communication library. There are two parts, the server typically written in node.js and the client often in javascript for the web. There are alternative client implementations and this plugin uses the C++11 client library ported to Unreal Engine.
The plugin enables very easy real-time communications to web sites and services, phones, IoT devices, and other Unreal Engine instances. Want to enable chat with websites, phones, or other unreal games? Want to stream large data in or out of your projects? Want to control your arduino LED lights with light properties inside the engine? this plugin enables those use cases and more in a developer focused package.
Simply add a SocketIOClient component to your actor of choice and it will auto-connect to your endpoint of choice on beginplay (or at own time if desired). Then you can emit and receive events from your server directly into Blueprint structs and types you define. Check out the example chat project for a use case example.
Example video of chat project: https://www.youtube.com/watch?v=RqjpWukQwxs
Example chat project: https://github.com/getnamo/SocketIOClient-Unreal-ExampleProject
There are plenty of advanced productivity features and how-to cases, which are explained in the
latest documentation, always available at: https://github.com/getnamo/SocketIOClient-Unreal
Technical Details
Features:
- Real-time bi-directional communication via websockets and http
- Enables communication with a wide range of devices and services available via e.g. node.js
- Socket.IO protocol v3+ for UE4.27+, v1-2 support for UE4.19-4.26
- Blueprint and C++ support
- SIOJson module for Auto-JSON conversion and serialization via structs or custom object graphs
- Binary type interweaving in JSON support as per Socket.IO spec
- Bind events to graph or functions by name with matching signature
- Emit with callbacks, enabling Remote Procedure Calls (RPC) and server data acknowledgement
- Drag and drop auto-conversion of basic types
- Capable of maintaining 1000+ connections
- Multi-threaded and non-blocking by default
- FSocketIONative class available for custom low level C++ support
- CoreUtility module for string serialization and lambda based multi-threading
- Open source – Can’t afford? clone from github repository
Code Modules: CoreUtility – Runtime, SIOJson – Runtime, SocketIOClient – Runtime, SIOJEditorPlugin – Developer
Documentation: https://github.com/getnamo/SocketIOClient-Unreal
Example Project: https://github.com/getnamo/SocketIOClient-Unreal-ExampleProject
Important/Additional Notes: Plugin and all its dependencies are available under MIT license. Contains socket.io-client-cpp library. Contains VARest fork for part of JSON Blueprint support.
You can contact us at any time and request that the asset you want be added to the site from the Request Asset section.