Description
ObjectDeliverer: Flexible Data Transmission Library for Unreal Engine
Overview
ObjectDeliverer is a comprehensive data transmission and reception library for Unreal Engine, designed with flexibility and ease of use in mind.
Whether you’re developing real-time applications, or tools requiring data exchange, ObjectDeliverer provides a robust framework that works seamlessly in both C++ and Blueprint environments.
Key Features
Modular Architecture
ObjectDeliverer’s greatest strength is its modular design. You can easily mix and match:
- Communication protocols
- Data division rules
- Serialization methods
This plug-and-play approach allows you to quickly configure the exact communication setup your project needs without writing extensive custom code.
Multi-Platform Support
Built to work across many platforms supported by Unreal Engine, with special optimizations for Windows-specific features like Shared Memory communication.
Blueprint Complete
Every feature is fully exposed to Blueprint, allowing non-programmers to implement complex networking solutions without writing a single line of C++ code.
Performance Optimized
Designed with performance in mind, featuring configurable buffer sizes and efficient data handling to minimize overhead in your projects.
Communication Protocols
TCP/IP Server
- Connect and manage multiple client connections simultaneously
- Automatic client connection handling
- Event-based notification system for connections/disconnections
- Configurable port, backlog, and buffer sizes
TCP/IP Client
- Reliable connection to TCP servers
- Automatic reconnection options
- Connection status events
- Configurable retry behavior and buffer sizes
UDP Sender
- High-performance, connectionless data transmission
- Perfect for broadcast or multicast scenarios
- Ideal for real-time data where occasional packet loss is acceptable
UDP Receiver
- Lightweight UDP packet reception
- Multiple binding options (specific IP or any available)
- Configurable receive buffer size
Shared Memory (Windows)
- Ultra-fast inter-process communication on the same machine
- Zero-copy data transfer for maximum performance
- Perfect for communicating between multiple UE4 instances or external applications
Log File Writer/Reader
- Record transmitted data to log files
- Replay data from previously recorded logs
- Great for testing, debugging, and simulation
Data Division Rules
When transmitting data over networks, you need rules to determine where one packet ends and another begins. ObjectDeliverer provides several built-in strategies:
Fixed Size
Simple and efficient – each packet has the same predetermined size.
Header + Body
A header containing the size of the following data body, allowing variable-length messages with clear boundaries.
Terminal Symbol
Data packets are separated by a specific termination character or sequence (like ‘\n’ in text protocols).
No Division
Raw data stream without packet separation – useful when the application layer handles message boundaries.
Serialization Methods
Byte Array
Raw binary data transmission for maximum performance and flexibility.
UTF-8 String
Text-based communication with proper encoding support for international character sets.
Object (JSON)
Automatically serialize and deserialize Unreal Engine objects to JSON format:
- Transmit complex data structures with a single function call
- Property-based serialization
- Support for nested objects and arrays
- Automatic type conversion
Practical Applications
Tool Development
- Inter-process communication between editor tools
- Save/load functionality with the log file system
- Remote debugging capabilities
Simulation & Visualization
- Stream real-time data to visualization systems
- Record and replay simulation data
- Connect to external data sources or analytics systems
IoT & Hardware Integration
- Connect Unreal Engine to external devices via network protocols
- Build digital twins with real-time data feeds
- Create monitoring and control systems
Easy Integration
ObjectDeliverer is designed to integrate seamlessly into your existing projects:
- Add the plugin to your project
- Select your communication protocol
- Choose your data division rule
- Pick your serialization method
- Start sending and receiving data!
Blueprint Example
The same functionality is available in Blueprint with an intuitive node-based interface:
- Create the ObjectDelivererManager
- Configure your protocol, packet rule, and delivery box
- Start the manager
- Bind to events for receiving data
- Send data using the provided functions
Performance Considerations
ObjectDeliverer is built with performance in mind, offering:
- Configurable buffer sizes to optimize memory usage
- Efficient binary serialization options for minimal overhead
- Shared Memory protocol for ultra-fast local communication
- Asynchronous operation to prevent blocking the game thread
Advanced Features
Custom Protocols
Extend the built-in protocols by creating your own communication methods that integrate with the ObjectDeliverer framework.
Custom Packet Rules
Implement specialized data division strategies for proprietary protocols or unique requirements.
Custom Serialization
Create your own serialization methods beyond the provided options for specialized data formats.
Community and Support
ObjectDeliverer is actively maintained and improved based on community feedback. We’re committed to providing:
- Regular updates and new features
- Bug fixes and performance improvements
- Documentation and examples
Getting Started
- Add ObjectDeliverer to your Unreal Engine project
- Explore the included examples to understand basic usage patterns
- Configure your first connection using either C++ or Blueprint
- Start building amazing connected experiences!
ObjectDeliverer simplifies network communication in Unreal Engine while providing the flexibility and power needed for advanced applications. Whether you’re building connected tools, or complex simulations, ObjectDeliverer gives you the building blocks to implement robust, efficient data transmission with minimal effort.
About the Open Source Version
This plugin is also available as open source under the MIT License on GitHub.
- If you use the GitHub version, you need to build it yourself from the source code.
You can contact us at any time and request that the asset you want be added to the site from the Request Asset section.