Low Entry Plugins

Hmm weird, and when you type in “execute” you can’t find any execute file blueprints?

I could try re-uploading it so Epic will re-publish it to the marketplace, maybe something went wrong there.

Wow, I found it :I Apparently I’ve never updated a plugin that was installed in the engine (and needs to be updated with the “installed plug-ins” button). Shame on me lol, sorry for wasting your time.

Ah great that you’ve figured it out. Good luck with your project.

Hi @ - I have a slightly urgent request.

Thanks for your plugins - I have most of them and use them all the time.

I’ve got a project that needs to load - for example - 6 PNG files. I’ve tried the built in Download from URL node, but despite what they say about it being async, it hitches the system (I suspect it’s the writing to texture part rather than the file loading part). I’ve now tried your LE File manager + Extended Library, and it works - but also hitches the engine. I’ve just been trying the latent command setup but it does the same. Do you have any idea how I could make this process properly asynchronous?

Thanks so much - if you can help i’d really appreciate it (deadline very very imminent!)

Hi, I think the ‘bytes to texture’ part cannot be done async, since it has to be synchronized to the internal thread.

I’m not really certain what you’re doing.

Are you just trying to convert the images to textures once? Why would the hitching matter then? If the hitch is too long, perhaps put a ‘delay’ blueprint in between of the ‘bytes to texture’ blueprints?

Or are you doing this every x frames? Because in that case, you could reuse a texture (if the width and height stays the same, otherwise it will create a new texture anyway).

Hi @, it’s a sort of banner system for a TV show - A team consists of a logo and three team portraits which are selected and loaded at given points. So UE receives paths to image files, loads them in, composites them in UMG and writes them to a texture which appears on geometry. Even if I put a delay in between loads it still hitches. I’m just looking at a threading plugin which may well work, but crashes the editor a lot (because i don’t know what i’m doing, I expect.)

Any advice though would be gratefully received!

The ‘bytes to texture’ functionality cannot be multi-thread for as far as I know, it is synchronized to the engine thread on purpose, since the code that runs on that thread isn’t thread-safe (for performance reasons).

Do these hitches only happen once, or do they lag the entire game/application down?

Are the images too large for their use perhaps (like 1000x1000 pixel images for 100x100 pixels on the screen)?

Perhaps you could experiment with different image formats (png, jpg, etc) to see if there is any difference in performance there.

They’re necessarily either 512x1024 or 512x512, and they have transparency so png is my only option (I think). I’ve just been running it inside BPThreads with some success (makes me worry though that you say it’s not thread safe). I’ll be giving it a battering to be sure. And yes, it always hitches by about 2-3 frames on each load, which will have to happen fairly often, and there are 70+ of these images, so I can’t really pre-cache them. All though I suppose I could serialise them and save them - but I have no idea how this would work performance-wise.

I see, weird. Using BPThreads should be fine, the code in the ‘bytes to texture’ blueprint is synchronized, so that won’t error or crash as far as I know.

Not sure why it takes 2-3 seconds, or is that for 70+ images all at once?

PNG has several different ways it can be encoded, as in interlaced, compressed, etc. You could experiment with this (the compressed option especially) and see if the lag/hitching will be gone then.

I don’t think you can cache textures, you are able to cache the bytes of the images, but that would just save you on the downloading part (which is async), so that won’t fix the hitching.

Hi, I am getting the error below from LowEntryEncryption when packaging to Android. Engine version is 4.20.3. This wasn’t happening when the project was at 4.20.0. Please help:

https://zerobin.net/?59331dd1a33e973…toKF7AGNIQrTE=

Oh I see, thanks for letting me know! I already know how to fix it. Publishing it to the marketplace will take some time though, seems like Epic is taking a vacation, so that might take 1-2 weeks hopefully.

Okay thanks. I just commented relative lines and it is working just fine for now.

I’d like to solicit any pointers that anyone might contribute in so far as the proper procedure for using the LowEntryStandardLibrary in C++. I’ve tried just adding the header file to my .cpp file but get an error about VS not being able to find one of the generated header files.

Thanks in advance!

Hey I think I know what you mean.

I haven’t tried including the LowEntryStandardLibrary myself, but in the header file, these classes are defined which are then imported in the cpp file:


class ULowEntryLatentActionBoolean;
class ULowEntryLatentActionFloat;
class ULowEntryLatentActionInteger;
class ULowEntryLatentActionNone;
class ULowEntryLatentActionObject;
class ULowEntryLatentActionString;

class ULowEntryParsedHashcash;

class ULowEntryByteArray;

class ULowEntryByteDataEntry;
class ULowEntryByteDataReader;
class ULowEntryByteDataWriter;

class ULowEntryBitDataEntry;
class ULowEntryBitDataReader;
class ULowEntryBitDataWriter;

class ULowEntryLong;
class ULowEntryDouble;

class ULowEntryExecutionQueue;

I don’t think including these is needed unless you use a function that requires one of these classes to be defined.

You might want to include them all and see if that solves the problem.

By the way, in some cpp files I’ve included the LowEntryStandardLibrary as well, like for example in LowEntryByteDataWriter.cpp, so you could take that as an example and see if that might work, I’m not sure if including from inside vs outside the project (the plugin) makes any difference.

@ Thanks!

I worked on your suggestions for a bit without success and then found this: A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums, which allowed me to add and use:


 #include "LowEntryExtendedStandardLibrary.h"

Unfortunately, this line:


TArray ULowEntryByteDataEntry PacketByteData; 

(post does not like the left and right angle brackets around the type, so these are omitted here but not in VS)

generates an error:


Error    C2139    'ULowEntryByteDataEntry': an undefined class is not allowed as an argument to compiler intrinsic type trait '__is_trivially_destructible'    Colony2    e:\epic games\ue_4.21\engine\source\runtime\core\public\Templates\IsTriviallyDestructible.h    18    

So I still have something to sort out. :frowning:

Hmm weird, but it says it’s “an undefined class”, meaning it hasn’t been included yet.

What happens when you do:


#include "LowEntryByteDataEntry.h"
#include "LowEntryBitDataEntry.h"
#include "LowEntryExtendedStandardLibrary.h"


That fixed the error. Thanks! Now, just have to figure out how to code the function. :slight_smile:

Awesome, I’m glad to hear that. Good luck with your project!

Okay, figured it out.

I think.

Haha, let me know if you need any help. Calling a function should be as simple as importing the right classes and then doing:

ULowEntryExtendedStandardLibrary::TheFuncttion();