Low Entry Plugins

Thanks! :slight_smile:

Hi , we still couldn’t find any solution to make Socket Plugin work with iOS devices. There is no documentation about this issue on the internet. We switched to HTTP protocol permanently but we want to use it when a solution is found for this.

Hmm that’s very annoying.

I’m at 95% of my game and everything goes through sockets. I’m currently setting up a mac (hackintosh) to be able to test the mac and iOS exports, hopefully I’ll be able find out what exactly is going wrong.

To be continued I suppose.

Hi there…

I’m using your http plugin for sending/receiving data from a remote server for an Android game. We decided to secure the apis and started using Let’s Encyrpt.
However, https connections result in failure on device. Here is the error from logs:



11-26 19:56:58.911 32721 32736 D UE4     : [2016.11.26-17.56.58:920]-8214004]LogHttp:Warning: 0xcc6c0080: request failed, libcurl error: 60 (Error)
11-26 19:56:58.911 32721 32736 D UE4     : [2016.11.26-17.56.58:920]-8214004]LogHttp:Warning: 0xcc6c0080: libcurl info message cache 4 (TLSv1.2 (OUT), TLS handshake, Client hello (1):)
11-26 19:56:58.911 32721 32736 D UE4     : [2016.11.26-17.56.58:921]-8214004]LogHttp:Warning: 0xcc6c0080: libcurl info message cache 5 (TLSv1.2 (IN), TLS handshake, Server hello (2):)
11-26 19:56:58.911 32721 32736 D UE4     : [2016.11.26-17.56.58:921]-8214004]LogHttp:Warning: 0xcc6c0080: libcurl info message cache 6 (TLSv1.2 (IN), TLS handshake, Certificate (11):)
11-26 19:56:58.911 32721 32736 D UE4     : [2016.11.26-17.56.58:921]-8214004]LogHttp:Warning: 0xcc6c0080: libcurl info message cache 7 (TLSv1.2 (OUT), TLS alert, Server hello (2):)
11-26 19:56:58.911 32721 32736 D UE4     : [2016.11.26-17.56.58:922]-8214004]LogHttp:Warning: 0xcc6c0080: libcurl info message cache 8 (SSL certificate problem: unable to get local issuer certificate)
11-26 19:56:58.911 32721 32736 D UE4     : [2016.11.26-17.56.58:922]-8214004]LogHttp:Warning: 0xcc6c0080: libcurl info message cache 9 (TLSv1.2 (OUT), TLS alert, Client hello (1):)


It seems that curl is unable to accept the certificate issuer. The same is happening with any other certificate authority. Got any ideas on how to solve this problem and use https?

This all happens internally, in the engine code.

It’s probably best to open a bug report for this on the UE4 Answerhub.

Thanks for Plugin.
Can we use it to read a txt. data from Android (Samsung).
I manage to read a data from PC with Get Directory Path C:\ .
But for Android not.
Any help?

Thanks

Can you post a screenshot of the blueprint code?

Here is Android:


PC:

BP is in Levelblueprint, triggers with Event BeginPlay-
Thanks…

Ah I see, Android has protected applications from reading and writing certain files and folders. I think you need to root your phone to lift that protection.

Because of that, it’s better to stay in the folder the Unreal Engine chooses (which means, you shouldn’t do …/ etc).

Windows doesn’t usually have this problem, unless you perhaps try to go to C:/Windows, but then it will probably open an UAC administrative popup (not certain about this though, I haven’t tried this).

Generally speaking, no matter what OS you’re on, it’s best to stay in the folder the Unreal Engine chooses.

Strange…
by DownloadImage is working with write and read permission!


any more ideas?
Thanks!

In your blueprint code you’ve tried to get a folder called ā€œfile:/ā€, which can’t exist, so that would always fail. Could you try Get Data with ā€œfile://Left.pngā€ (low level blueprints)?

Also, if you do: [Get Root -> Get File ā€œtest.txtā€ -> Set Data], does [Get Root -> Get File ā€œtest.txtā€ -> Exists] return true then?

I manage to read PNG. but not TXT.
maybe is general problem with TXT. files

Also no success with getRoot:

any more ideas :slight_smile:
thanks

ps What I want to get is to read some text from android. It can be array also. Do you have another way/format in mind?
Maybe is txt wrong approach.
thanks

It’s probably because the TXT doesn’t exist, have you tried Set Data to create it?

To store an array you could just save a comma seperated list like a,b,c.

For anything more complex, it’s probably best to use JSON.

I manage it like this:
Set Data with some test.txt to create a folder in /UE4Game/ProjectName/Data/test.txt
Then I need to start a game and close it. Folder and file is created /UE4Game/ProjectName/Data/test.txt
Now I can manually copy here a txt. files and read it in blueprint.

Thanks a lot .

ps Next step is to a download a files from server and read it in game.

@ Is it possible to add something to get device name on Android and perhaps some basic system specs on PC, all in BP? I’d like to be able to see (I don’t even know if it’s possible) if the phone is Galaxy S6 or S7 (or S8 when it’s out) and set some quality settings to achieve better performance or better visuals. On PC I could create some profiles based on GPU/CPU vendor and amount of VRAM/RAM and have predefined quality settings.

Also wondering if you are contemplating making save/load system plugin for PC/Android and potentially consoles, saving all kind of stuff, including physics and multiplayer (I’d buy it for single player initially as I don’t work on MP yet)? I know of 2 systems - one is utterly broken with 4.14 (and that makes me question the architecture of it) and another one is for PC only. I’d gladly buy your save/load system on the Marketplace (or outside of it)! :o

I think getting the device name etc wouldn’t be a problem, I’m not certain whether you can get the exact specs, but you could estimate that with the device name I suppose.

About the save/load system, don’t you have savegames in UE4 already? If you want to save locations for objects etc, couldn’t you just loop through all Actors and save their location and rotation?
What did the other systems have that this method doesn’t have?

That I don’t know. I doubt you can easily save/load games with stock UE4. If it was the case, no one would create save/load system plugins.

I’d certainly went with Rama’s system, but it’s Windows only. Another save system works everywhere and I was about to purchase it, but it’s still broken with 4.14, so I am kinda hesitant getting it at this point. So, there is a good opportunity to make another system that works on all platforms and has solid design that doesn’t break from release to release :slight_smile:

I think Rama’s plugin actually supports all platforms, he just didn’t tell Epic to publish it for every platform.

80 bucks for a plugin though, damm, maybe I’ll make my own version as well :stuck_out_tongue:

I would probably just convert all the data to bytes, and then let the user determine themselves where and how they want to save it, whether it’s online, or in a file, etc.

Currently I’m a bit busy though (first I got to finish a plugin, then implement UDP support in my socket plugin/library), so it will take some time before I can give this a try.

So yeah, to be continued.

Edit: oops, double post :slight_smile:

There was an update to the ESL today and one to the Socket Connection plugin the other day (I think).

I believe that the Socket update broke our game’s connection to the Java server. It does not print out the Start Receiving Message notification. The game connects and immediately disconnects.

We haven’t touched our connection and packet code in some time.

I am in the process of uninstalling and reinstalling the plugin to see if the problem persists.

Edit: Just finished the re-install and stepping through the nodes. The Send Function Call node either hangs or returns false. The Server Connection (Target) and Packet (bytes) are valid.

Any suggestions?