Creating a Package for a Custom UE4 Plugin for the Marketplace

Submission to the Marketplace Since the data send/receive plugin ObjectDeliverer I am currently creating for Unreal Engine is aimed for submission to the Marketplace, I tried packaging it once. How To Packaging a UE4 project can be done from the Editor, so I know how to do that, but I had never packaged a Plugin before and wasn’t sure how to do it, so I searched. How To Package Plugins For UE4 Marketplace - Epic Wiki ...

2019-02-07 · 3 min · 456 words · ayumax

ObjectDeliverer Log File Saving and Playback Feature

Recording Communication Content When implementing communication features, there are almost always times when you want to reproduce the situation later. This is especially essential when the environment of the communication partner is difficult to prepare. Therefore, I implemented a feature in ObjectDeliverer to save communication content to a log file and play it back. Sample Here is a sample using the save and playback features. The communication content here is a captured bitmap of 800px x 450px 32bit ARGB, so 1,440,000 bytes = (800 x 450 x 4) of data are sent and received every 60fps (=16.66ms). ...

2019-02-07 · 2 min · 274 words · ayumax

Got Stuck with BlueprintNativeEvent

What I Got Stuck On Today’s article is a memo recording a problem I encountered recently. By the way, I still don’t know the exact cause and am currently using a workaround. In the Plugin I’m currently creating, I wanted to override functions in both C++ and Blueprint, so I implemented the pattern below in various places. UFUNCTION(BlueprintNativeEvent, Category = "ObjectDeliverer") void Start(); virtual void Start_Implementation(); In the example above, Start() is expected to be called from another C++ class. ...

2019-01-31 · 2 min · 385 words · ayumax

Video Synchronization Using ObjectDeliverer Shared Memory

Sample Explanation This article explains the implementation of the shared memory sample I wrote about yesterday. ObjectDelivererの共有メモリのテスト題材作成中。 WPFアプリが毎フレーム自分のウィンドウを共有メモリに書き込んで、それをUE4側が読み込みテクスチャを更新してる。#ObjectDeliverer #UE4 #UE4Study pic.twitter.com/uWY2QhHnYP — ayuma (@ayuma_x) January 29, 2019 WPF App Side The WPF side writes the display content of its own window to shared memory. The complete source code is in the following repository. Creating Shared Memory Create shared memory named “SharedMemory” with a size of 800 * 450 * 4 + 5. This size can store a bitmap of 800 pixels width, 450 pixels height, and 32-bit BGRA format. The final +5 is for the header elements used by ObjectDeliverer shared memory. ...

2019-01-30 · 5 min · 866 words · ayumax

Adding Shared Memory Protocol to ObjectDeliverer

Shared Memory Feature I have added a shared memory protocol implementation to my custom UE4 library, ObjectDeliverer. This allows data transfer using shared memory in addition to the previously implemented TCP/IP and UDP. However, shared memory is Windows Only… How to Use Since it’s implemented as a protocol for ObjectDeliverer, you can use it simply by switching the protocol passed to the ObjectDelivererManager’s Start method. deliverer->Start(UProtocolFactory::CreateProtocolSharedMemory("memory_test", 1024), UPacketRuleFactory::CreatePacketRuleSizeBody()); Pass the shared memory name and memory size to CreateProtocolSharedMemory. These two values must be the same as the counterpart exchanging data. ...

2019-01-29 · 2 min · 385 words · ayumax

Easy Inter-Process Communication in UE4 with ObjectDeliverer

Inter-Process Communication in UE4 I often link applications developed with Unreal Engine to apps created with C# etc., and the most common method I use for this is socket communication like TCP/IP or UDP. Until now, whenever needed, I created features tailored to the specifications at that time. However, implementing this each time is tedious, and the communication part is delicate, making it prone to bugs if not built properly. ...

2019-01-28 · 5 min · 938 words · ayumax