Download

Blueprint TCP/UDP socket functionality.

Apologies and whatever if this has been suggested, a quick search did not yield anything similar. Anyway, on to the topic at hand. Blueprints are powerful, easily the most significant advantage of UE4 vs the competition, and while Blueprints already give us a strong real-time multiplayer backbone in the form of replication, it lacks the freedom of custom networking essential to complex or persistent multiplayer worlds utilizing multiple servers. While I know this is a relatively simple feature to implement for Blueprints (compared to advanced features like multi-threading), I believe that everyone would benefit greatly from it’s inclusion - allowing for quick but involved server prototypes built solely in UE4 with Blueprints for example. Finally, while I said this was a relatively simple feature to implement - though I’ve only gotten halfway (my mistake jumping into C# first), I fear that if I should ever finish this feature for my own use I might be unable to part with it for free, nor able to support it fairly as a paid plugin on the marketplace(which is inconvenient anyway compared to official inclusion).

With all that said, here are the bullet points of the proposed system:

  1. Basically a Blueprintification of the platform independent FSocket fun already available in C++.

  2. Clean, automated conversion to/from binary for the Blueprint-friendly simple data types we all know and love in UE4, keeping the blueprint user oblivious to the icky 1s and 0s.

  3. If it were necessary to choose one or the other, TCP is certainly the more important protocol, since the existing replication already handles the other side quite well, and custom socket connections would typically be used for item/account/chat servers etc, where speed is secondary to cleanliness and reliability.

This would, In my opinion, be a significant leap forward for UE4 in terms of rapidly developing what is arguably the most important side of any modern game, multiplayer.
Please leave your comments and support/criticism for this feature. Even if it is not to be, I’d like for this to be discussed and hopefully considered quite seriously.