Saltar al contenido
Multimedia 1 para anuncio BlueprintTCP
0 comentarios

Descripción

BlueprintTCP — TCP Client for Unreal Engine

Version: 1.0.0 | Engine: UE 4.27+ | Platforms: Win64, Linux, Mac Category: Networking | Created by: Alpha XP | Web: alphaxp.net

Overview

BlueprintTCP lets you connect to any TCP server and exchange data entirely from Blueprints — no C++ and no networking boilerplate. Place one actor, call Connect, and start sending and receiving byte streams to game backends, IoT hardware, chat servers, Python/Node services, or any TCP endpoint..

Every connection runs on its own background thread, so blocking socket I/O never freezes your game. Incoming data is delivered safely on the game thread through Blueprint events. One actor can manage many simultaneous connections, each addressed by a simple ConnectionId.

No copy-pasting C++, no plugins to chain — just describe the bytes you want to send and read what comes back..

Key Features

  • Pure Blueprint TCP client — Connect, Send, Receive, Disconnect, all from Blueprints (C++ also supported)

  • Multiple simultaneous connections — one actor, many sockets, addressed by ConnectionId

  • Threaded & non-blocking — one worker thread per connection; the game thread never stalls

  • Event-driven — On Connected, On Disconnected, On Message Received delegates fire on the game thread

  • Byte-stream builders — pure autocast nodes for Byte / Int / Int64 / Float / String → bytes, plus Append Bytes

  • Message readers — sequentially read Byte / Int / Int64 / Float / String / raw bytes from a received message

  • SendString convenience — UTF-8 encode and send a string in one node

  • PIE-safe — weak-pointer guards make stopping play mid-connect crash-free

  • Project settings — optional "post errors to Message Log"

  • Zero external dependencies — uses only the engine's built-in Sockets/Networking modules

Blueprint API

Connection

  • Connect: Open a connection to ipAddress:port; binds events; returns a ConnectionId

  • Disconnect: Close one connection by ConnectionId

  • Disconnect All: Close every active connection

  • Is Connected: True while a ConnectionId is connected

  • Get Active Connection Count: Number of live connections

  • Get Active Connection Ids: Array of live ConnectionIds

Events

  • On Connected: (ConnectionId)

  • On Disconnected: (ConnectionId)

  • On Message Received: (ConnectionId, Message bytes)

Send

  • Send Data: Send a raw byte array on a ConnectionId

  • Send String: UTF-8 encode + send a string

Build bytes (pure) Append Bytes, Byte To Bytes, Int To Bytes, Int64 To Bytes, Float To Bytes, String To Bytes

Read message Read Bytes, Read Byte, Read Int, Read Int64, Read Float, Read String

Tunables Receive Buffer Size (16384), Send Buffer Size (reserved), Time Between Ticks (0.008s)

Example

Event BeginPlay → Connect (Connection, "127.0.0.1", 7777, OnDisconnected, OnConnected, OnMessageReceived) → ConnectionId

Event OnConnected (ConnectionId) → Send String (Connection, ConnectionId, "HELLO\n")

Event OnMessageReceived (ConnectionId, Message) → Length = Read Int (Message) → Text = Read String (Message, Length) → Print String (Text)

Tip: TCP is a byte stream, not a message queue. Frame your protocol (e.g. length-prefix with Int To Bytes, then Read Int + Read String) so partial/coalesced packets parse correctly.

Requirements

  • Unreal Engine 4.27 -5.0+

  • OS: Windows 10/11 x64, Linux, macOS

  • No third-party SDKs — uses engine Sockets/Networking only

  • Visual Studio 2019/2022 (only for C++ projects)

Technical Details

Module: BlueprintTCP (Runtime, PreLoadingScreen) Threading: one FRunnable worker thread per connection; lock-free SPSC queues marshal data to the game thread Number of Blueprints: 0 — pure C++ plugin exposing a Blueprint API Network Replicated: N/A — this is a raw TCP socket client, independent of UE replication Supported Development Platforms: Windows, Mac, Linux Supported Target Platforms: Win64, Mac, Linux

Important Notes:

  • TCP is a stream protocol — implement message framing for reliable parsing

  • One actor can own many connections; always use the ConnectionId returned by Connect

  • Connections auto-close on EndPlay

Formatos incluidos