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

next issue is in editor everything works, in build everything works but in standalone from editor breakjson doesnt work…

[SPOILER]
[2016.01.25-00.46.41:558] 0]LoadErrors:Warning: Warning CreateExport: Failed to load Outer for resource ‘EdGraphPin_7516’: VaRest_BreakJson /Game/UI/MainMenu/MenuWidget.MenuWidget:EventGraph.VaRest_BreakJson_303
[2016.01.25-00.46.41:558] 0]LoadErrors:Warning: Warning CreateExport: Failed to load Outer for resource ‘EdGraphPin_7519’: VaRest_BreakJson /Game/UI/MainMenu/MenuWidget.MenuWidget:EventGraph.VaRest_BreakJson_303
[2016.01.25-00.46.41:558] 0]LoadErrors:Warning: Warning CreateExport: Failed to load Outer for resource ‘EdGraphPin_7517’: VaRest_BreakJson /Game/UI/MainMenu/MenuWidget.MenuWidget:EventGraph.VaRest_BreakJson_303
[2016.01.25-00.46.41:558] 0]LoadErrors:Warning: Warning CreateExport: Failed to load Outer for resource ‘EdGraphPin_7518’: VaRest_BreakJson /Game/UI/MainMenu/MenuWidget.MenuWidget:EventGraph.VaRest_BreakJson_303
[2016.01.25-00.46.41:558] 0]LoadErrors:Warning: Warning CreateExport: Failed to load Outer for resource ‘EdGraphPin_181098’: VaRest_BreakJson /Game/UI/MainMenu/MenuWidget.MenuWidget:EventGraph.VaRest_BreakJson_13
[2016.01.25-00.46.41:558] 0]LoadErrors:Warning: Warning CreateExport: Failed to load Outer for resource ‘EdGraphPin_181100’: VaRest_BreakJson /Game/UI/MainMenu/MenuWidget.MenuWidget:EventGraph.VaRest_BreakJson_13
[2016.01.25-00.46.41:558] 0]LoadErrors:Warning: Warning CreateExport: Failed to load Outer for resource ‘EdGraphPin_181099’: VaRest_BreakJson /Game/UI/MainMenu/MenuWidget.MenuWidget:EventGraph.VaRest_BreakJson_13
[/SPOILER]

It shows the jason response it received it just isnt using it.

http://puu.sh/mIuc5/bbadf50f88.jpg

I’ve toyed with this plugin before, but when I first looked I was a bit more noob. I’ve been reading that google sheets supports JSON - could anyone show me a quick tutorial of how i’d set that up here? In the docs from google it shows you how to pull stuff with python or with jquery but is there an easy way to access the data with this plugin?

Thanks!

Dan

good luck, seems this plugin might be dead lol. not a lot of responses here.

EDIT: Find my solution

I believe i found a way to crash it consistently.
If response from the server is a number (in my case an int like 101) in the body - it will crash the unreal editor.
If response is a word or json - it doesn’t crash.

Otherwise its an awesome tool! Thank you!

This plugin isn’t dead. You can check out Random for usage examples and methods. The project is still a work in progress but we use this amazing plugin a lot. (We use CouchDB for the database.) Here is a link to the forum post.

Doesn´t work on 4.10.4.

Will be there an update in the future / or now?

Thanks unfa for developing and making this plugin available to masses. I am new to UE4 and rest/json, I want to use it to send and receive data through web/http to arduino/raspberry pi but not sure how to start? Anyone there please point to some tutorial/material or guide in basic steps (setup/BP/requirement) that how can I communicate through a simple BP to minimal http server implemented in java on arduino? I will be grateful.

For example, I want to connect to Arduino setup like this example (Arduino Tutorial: Temperature Sensor | Kodeco) from my Blueprint over http using VaRest plugin, can I achieve this through BP and how this BP would look like? Please.

Hey Ufna, thanks for the plugin!

I have a quick question. Is it possible to check that Set Parse Auth Data node has succeeded?

When deploying to an actual mobile device, I find that the very first POST for Get Request Object (JSON) always fails with:


LogVaRest:Error: Request failed: https://api.parse.com/1/users

To my understanding, this error should mean that authentication is failing. Please correct me if I’m wrong here.

What’s strange is that this is functional within the UE4 Selected Viewport (PIE) when playing, but not functional when launching or packaging.

If anyone has some guidance tips or knows what’s up, please feel free to share with me.

EDIT: To clarify, this is on Unreal Engine 4.10.4 with VaRest 1.1 R12

EDIT2:I noticed you mentioned this:

Is this potentially why my Android build is unable to authenticate? More specifically, what is this ‘project code’ that is mentioned? What file is it?

EDIT3: POST and GET all function on iOS, Mac OS X and Windows (haven’t tested on Linux). Only Android is the issue right now.

EDIT4: Managed to get it working on Android. Inside Unreal Engine 4, under Project Settings look under Engine > Network. There should be an option for Libcurl where you can tick or untick Verify Peer. Untick it. Now all the requests should work as normal.

On 4.11, Varest works perfectly for me on windows and mac, but I’m getting linker errors on Android:



LogPlayLevel: UnrealBuildTool: C:/NVPACK/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin\ld.gold.exe: error: E:/.../Plugins/VaRestPlugin/Binaries/Android/CTAndroid-VaRestPlugin-armv7-es2.a(Module.VaRestPlugin.cpp-armv7-es2.o): multiple definition of 'vtable for UVaRestRequestJSON'
LogPlayLevel: UnrealBuildTool: C:/NVPACK/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin\ld.gold.exe: 
E:/.../Plugins/VaRestPlugin/Binaries/Android/CTAndroid-VaRestPlugin-armv7-es2.a(VaRestRequestJSON.cpp-armv7-es2.o): previous definition here


I did not had this errors on 4.10.

Any suggestions?

I’m using Varest in BP and in C++.

Thank you.

EDIT:

Nevermind, problem solved. It was intermediate and other build cache folders that I had to delete.

Can we get a binary update for 4.11.1?

Some of us codeless n00bs still aren’t savvy enough to compile ourselves.

Has anyone used this to work with enums? I have found a way to do it, but it is not elegant. I get the friendly name as a string and store that (for readability in the database) and then when getting the value back out, I loop through all the values of the enum, convert each one to a string and compare it to the stored name. I wondered if anyone had a better way to do it.

I contemplated storing the byte, but then it would be harder to human parse the database. (Don’t ask me why we need to be able to, it was a requested feature).

Thanks.

How does this work with PHP sessions? From what I’ve read, PHP automatically sends a session_id cookie back to the calling browser, but in this case it’s VaRest that’s calling the PHP file, so what happens to that session cookie? Dealing with a multiple server game with centralized SQL DB, so I need to have each server use it’s own session_id.

How to use VaRest with c++?

i can’t inlcude VaRest code.

I used the VaRest in my project.It worked well in Mac and windows.However ,it failed to work in ipad.
![D9FG5`WD]YQFP)484I86089.png|602x427](upload://51Rn0ERJaVrId54vYFXmUQ1RCjm.png)

The onRequestFail Event was triggered.
How can I fix it?

Hello,
Many thanks to ufna for this amazing work, you make things possible and I’m sure you earned many karma points on this one :wink:

Unfortunately, I encounter an issue when trying to cook my game; I’m pretty sure parts of the solution have already been mentioned, but after reading many lines I have to admit I am confused and do not see a clear path to it (I have no coding background).

Issue:
I’m working on a Blueprint only project using the Marketplace version of VARest. I had to work with C++ to implement translation (= successfully followed this tuto). When I tried to cook the game for Windows, I got a fail and this message: “Missing UE4Game binary. You may have to build the UE4 project with your IDE. Alternatively, build using UnrealBuildTool with the commandline: UE4Game <Platform> <Configuration>”.

Actions taken:

  • I have followed the steps on the Git Wiki of VaRest, not aware at all of how plugins can work for the engine or for one project. Doing many tests playing with other parameters of the problem, it seems it has no visible consequence (= deleting or adding these files do not change the problem).
  • On the project side, I rebuilt my project many times in Visual Studio 2015, with no error. On the engine side, I don’t know how to “compile a plugin” (Unreal Doc is blurry to me on this point), and not clear on which VaRest files I should use.
  • I have read that the issue could come from a Blueprint-based project. I’ve created 4 empty projects to test this hypothesis:
    Blueprint-only with Plugin > No cooking /// Blueprint-only without Plugin > Cooking /// C++ with Plugin > No cooking /// C++ without Plugin > Cooking.
    Worth noting: my project now includes a custom C++ class due to translation implementation (I installed Visual Studio 2015 & Visual C++).

My engine version is 4.12.5.
I’m sorry for my lack of competency on this topic; many thanks to the good souls willing to help me.

I’m currently finishing a login, register and account system (blueprints only) which I will submit to the marketplace soon. It uses VaRest for communicating with the web backend. Thanks a lot for this awesome plugin! :slight_smile:

It took a few iterations to get it all stable, I’ve made a module which implements a small request que system for queing api calls from clients, while sending them directly without delay when proxied through the unreal server (so you can hide the web backend from clients, or restrict authentication to the unreal server only).

I’ll check if there’s some stuff I learned about VaRest to share here!

Hey guys, since yesterday i’m having an issue with this plugin. When running it on a IOS Device i can’t seem to get my request to successfully work. It seems that there is a SSL Error when i check the dump file… Has anyone found this issue as well?

Please check this page about untrusted connections: GitHub - ufna/VaRest: REST API plugin for Unreal Engine 4 - we love restfull backend and JSON communic