[Plugin] Http/s REST, blueprintable JSON query and Parse API manager [VaRest]

Hi guys any chance someone can point me in the right direction how to make a blueprint for a user login system using this plugin. ???Everyone has said to use this plugin to do it but I can’t find any tutorials how. Thanks

Hello! I need help with this plugin. I am planning to use a HTTP-request to get data from my database. I am not quite sure how do i get specific field of my server and put the value inside variable. I tried to create very simple site and tried to get data from it.

I don’t know what to do so i tried to get field like this:
dbdbca160d6a3d8e612199436e8bb86a7f38a2a5.jpeg

It’s not working at all. It would be really great to have simple tutorials of how to get data from website so we can put specific value inside variable and how to GET or POST data into the website so we can put values in database. I’m all lost in here so i would be really thankful of any help.

Here is the simple code i tested.
32103f04a37160baef72e9aaec027d307cad7eb1.jpeg

Still having a hard time doing a post in parse. I got get commands to work perfect from data I inputted in the api console. I keep getting a code 107 invalid JSON. If anyone could point me in the right direction I would be so grateful

Is this still being updated? How about a 4.9 version?

Hi guys, I’ve recently had a great game idea and I need a way to store data on a server to create a “multiplayer” illusion. I was looking into an mysql server and I have one up and running and stuff, that being said I want to know how fast I can read and write data to an mysql server. For example, say I was using a table to send chat messages to another client accessing the same server, would the delay be really really long or decently short, and also just to mention it, I know some basic php, and I am sure I can write all the php required, I also however will need a separate program/service that updates the current server time value and other stuff like that in the mysql database in the background, sort of like a network manager, update time, move data around occasionally when it needs to be, things clients can’t be trusted to do (and maybe I can run the program on the vps that my mysql server is on so it wouldn’t have any latency?).

Please let me know what you think about this idea, and please suggest a better way of doing it if you know something I don’t (which I am sure you do).

I am hoping that I don’t have to use a dedicated server to handle text data, the game will not be all text based but some of it will and I don’t think that clients connecting to a dedicated server is very efficient.

Anyways can’t wait for your feedback! Hopefully this plugin will solve some of my problems.

And my plugin momentally supported it! :smiley: (no changes required from 4.8)

Is there a method to disable the log output? (LogVaRest?) I have a blueprint which runs every 3 min and thus the log is full of these messages.

Excellent plugin, excellent work.

Now =p

Is there something in the roadmap to account for non-named array fields?

JSON arrays (in the root) don’t require field names. They are simply an array of JSON documents.

http://jsonplaceholder.typicode.com/users

that is a legit array, to the standards of the JSON spec.

Hello, first of all your plugin is excelent and help us a lot in our project, but we have a problem recently using ue4 4.8.3 sometimes it crashes with the following error:

Access violation - code c0000005 (first/second chance not available)

“”

UE4Editor_VaRestPlugin_36!UVaRestJsonObject::Reset() [g:\projects\personalprojects\ideasthroughiris\sonic_testprojectviernes\sonic_testproject\plugins\varest\source\varestplugin\private\json\varestjsonobject.cpp:23]
UE4Editor_VaRestPlugin_36!UVaRestRequestJSON::ResetResponseData() [g:\projects\personalprojects\ideasthroughiris\sonic_testprojectviernes\sonic_testproject\plugins\varest\source\varestplugin\private\json\varestrequestjson.cpp:109]
UE4Editor_VaRestPlugin_36!UVaRestRequestJSON::OnProcessRequestComplete() [g:\projects\personalprojects\ideasthroughiris\sonic_testprojectviernes\sonic_testproject\plugins\varest\source\varestplugin\private\json\varestrequestjson.cpp:242]
UE4Editor_VaRestPlugin_36!TBaseUObjectMethodDelegateInstance<0,UVaRestRequestJSON,TTypeWrapper<void> cdecl(TSharedPtr<IHttpRequest,0>,TSharedPtr<IHttpResponse,1>,bool)>::Execute() [e:\ue4\epic games\4.8\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:681]
UE4Editor_VaRestPlugin_36!TBaseUObjectMethodDelegateInstance<0,UVaRestRequestJSON,void cdecl(TSharedPtr<IHttpRequest,0>,TSharedPtr<IHttpResponse,1>,bool)>::ExecuteIfSafe() [e:\ue4\epic games\4.8\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:770]
UE4Editor_HTTP!TBaseDelegate<void,TSharedPtr<IHttpRequest,0>,TSharedPtr<IHttpResponse,1>,bool>::ExecuteIfBound() [d:\buildfarm\buildmachine
++depot+ue4-releases+4.8\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:519]
UE4Editor_HTTP!FCurlHttpRequest::FinishedRequest() [d:\buildfarm\buildmachine
++depot+ue4-releases+4.8\engine\source\runtime\online\http\private\curl\curlhttp.cpp:711]
UE4Editor_HTTP!FHttpManager::Tick() [d:\buildfarm\buildmachine
++depot+ue4-releases+4.8\engine\source\runtime\online\http\private\httpmanager.cpp:30]
UE4Editor_HTTP!FCurlHttpManager::Tick() [d:\buildfarm\buildmachine
++depot+ue4-releases+4.8\engine\source\runtime\online\http\private\curl\curlhttpmanager.cpp:259]
UE4Editor_Core!FTicker::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\core\private\containers icker.cpp:107]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\launchengineloop.cpp:2479]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.8\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

We are using the following blueprint to get the data each 30 seconds (the data we get is a XML from the service):

I’m all lost in here so i would be really thankful of any help.

How do you make Varest work on Mac? Currently it says to me that the plugin is not found. I need to compile for IOS, and I can’t do it on windows.

Thanks for the help

Hey look, its October 21st and no 4.9 release.

You can easily download the source version and get it to work yourself if you are in a hurry.

Decided to learn a bit about compiling the program and had successfully done so. There were files missing in the binary release that prevented packaging.
Didn’t realize its that easy to compile plugins. lol

Everything is a-ok.


2 months later isn’t a hurry. Also I really don’t know how to compile vaRest or UE4 plugins as nothing I can find assists me in doing so. Nothing that works in Visual Studio 2013 that is.

Turns out 4.9 has been available and wasn’t mentioned here.

Though right on schedule the plugin that allows me to get feedback from my testers is preventing me from packaging the game for testing.

Its missing key files to do its job. I’ve tried both Development and Shipping with 32bit and 64bit. Nothing worked. Tried it on a blank project. Didn’t work either. Now i’m in a hurry. At the mercy of one of the REST/JSON plugins once again.

MainFrameActions: Packaging (Windows (32-bit)): UnrealBuildTool: LINK : fatal error LNK1181: cannot open input file ‘E:\ShadowOverIsolation\UEProject\Plugins\VaRestPlugin\Binaries\Win32\UE4-VaRestPlugin.lib’
MainFrameActions: Packaging (Windows (32-bit)): UnrealBuildTool: -------- End Detailed Actions Stats -----------------------------------------------------------
MainFrameActions: Packaging (Windows (32-bit)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: E:\ShadowOverIsolation\UEProject\Plugins\VaRestPlugin\Binaries\Win32\UE4-VaRestPlugin.lib

I’ve released a major update, here it is: VaRest 1.1-r11](Release VaRest 1.1-r11 · ufna/VaRest · GitHub)

Release notes:

  • [Feature] Binary data content supported now
  • [Feature] Both bindable events and latent functions provided to control asynchronous processes
  • [Feature] Editor integration implemented - you can break JSON as it was an unreal type!

Big thanks to @unktomi and @xulture for provided improvements!

Supported engine versions: UE 4.7-4.10

Hi! I am interested in this plugin but I don’t know how it works. I am reading and I am not sure if is possible this: send information (like score) to a mail or web. Is it possible?

First of all, nice work on the plugin!
Im coming across a problem though, im using parse.com and I can input into my db and can use login function etc but whenever i try to receive data I get an unauthorized access error.
Any help would be much appreciated.

Hello! Very useful plugin! Good job!
Thx. Now i compiled plugin for UE 4.10.

What’s the status of your tutorial? Still in progress?

Hi,

I’m currently struggling with the validity of my response. When I check my json response online (http://jsonlint.com/) it says it’s valid. But in the blueprint it’s always invalid. Any ideas why?


Cheers

You shouldn’t try to get response immediately aftre ProcessURL() call. All requests are asynchronious, so you have two options:

  1. Use ApplyURL() instead. Binds are not required at this case, it’s a latent function
  2. Check response in binded events