User Tag List

Page 1 of 4 123 ... LastLast
Results 1 to 40 of 125

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

  1. #1
    1

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

    I'm glad to announce that VaRest release candidate is officially out! Today plugin is ready for use, so I've decided to make a thread in "Released projects".



    VaRest is the plugin for Unreal Engine 4 that makes REST server communications simple to use with full Json query support.

    Current version: 1.1 RC 8

    Key Features:

    • Flexible Http/Https request management with support of different Verbs and Content Types
    • No C++ coding required, everything can be managed via blueprints
    • Blueprintable Json wrapper with almost full support of Json features: different types of values, arrays, both ways serializarion to FString, etc.
    • Blueprintable FJsonValue wrapper - full Json features made for blueprints!
    • Parse REST API manager to start working with Parse out of the box!

    Moreover, plugin is completely free and available under MIT open-source license. You can use it in commercial projects, you can modify anything, etc. In other words, you're in charge.

    Check the Wiki for plugin usage examples and installation notes.

    I'll be thankfull for plugin testing, feedback and new ideas how to improve the plugin!
    Last edited by ufna; 08-03-2015 at 04:54 AM.
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  2. #2
    0
    AWESOME WORK! Inspired me to research more into the concept of REST. I sincerely appreciate your contribution.
    TheGameDevStore.com | TheGameDevStore.VR: MMO + Interactive Asset Store + RPG|FPS Game Layer w/ VR Support.

  3. #3
    0
    Supporter
    Join Date
    Jun 2014
    Posts
    8
    Great Work! I appreciate your contribution ^^

  4. #4
    0
    Can't save my map after I add a blueprint using JSON. I clear out the reference to the object whenever it's used but I still get the following error:

    Code:
    Can't save B:/Workspaces/Unreal 4/FirstPlayground/Content/Maps/Example_Map.umap: Graph is linked to object(s) in external map.
    External Object(s):
    VaRestRequestJSON_27
    /Engine/Transient
      
    Try to find the chain of references to that object (may take some time)?
    Constructor
    Name:  oyIctEP.png
Views: 10122
Size:  138.6 KB

    Events
    Name:  C1XoamF.png
Views: 10254
Size:  216.1 KB

    Let me know if you need more information.

  5. #5
    0
    Quote Originally Posted by Veovis Muad'dib View Post
    Can't save my map after I add a blueprint using JSON. I clear out the reference to the object whenever it's used but I still get the following error:
    You shouldn't create requests in constructor. Just do the same logic in BeginPlay and it should be okay.

    Btw I'll take a look how I can improve it.
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  6. #6
    0
    That solved it, thanks. I was going to have to move it to a function sooner or later anyway.

    If you don't mind do you know the technical reason why?

  7. #7
    0
    Quote Originally Posted by Veovis Muad'dib View Post
    That solved it, thanks. I was going to have to move it to a function sooner or later anyway.

    If you don't mind do you know the technical reason why?
    Just a quote:

    Quote Originally Posted by joeGraf View Post
    It's safe to gameplay relevant code in BeginPlay. Constructor/PostInitializeProperties might be called when there is no world and are called on the default object. You definitely do not want to be spawning things that the CDO owns (Class Default Object), since the CDO exists outside of any world.
    If you've created something in constructor, engine tries to save it, but fails because of new constucted request is transient.
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  8. #8
    0
    Awesome. This should be super useful in the future when I get to deal with stats & server browsing!
    Game Developer @ LODZERO - My Twitter | tomlooman.com UE4 samples & tutorials | C++ Survival Game (Open-source template)

  9. #9
    0
    Quote Originally Posted by ufna View Post
    If you've created something in constructor, engine tries to save it, but fails because of new constucted request is transient.
    Thanks, that makes perfect sense. The thread the quote came from is also quite useful.

  10. #10
    0
    UE Community Manager
    Join Date
    Jul 2014
    Posts
    1,268
    I hope to see someone leverage this to do non-game stuff with UE4, even. My mind immediately goes to mapping or weather apps that serve REST data. Cmon - Someone make me an Unreal Engine weather clock app with tons of rad effects

  11. #11
    0
    Complex terrain and mapping data with an overlaid real time weather simulation, allowing users to fly around and zoom in and out at will to better visualize incoming storms?

    I want to see this.

  12. #12
    0
    Hey guys, I tried to add this to my 4.4 project and it wouldn't launch, it just said it needed to be recompiled. So I did it, but then it said it was unable to recompile, then said something about it being incompatible with my version. Now I can't turn off the plugin because I can't launch the editor and I'm afraid I may have lost my work. Any thoughts?

  13. #13
    0
    Quote Originally Posted by Jared Therriault View Post
    Hey guys, I tried to add this to my 4.4 project and it wouldn't launch, it just said it needed to be recompiled. So I did it, but then it said it was unable to recompile, then said something about it being incompatible with my version. Now I can't turn off the plugin because I can't launch the editor and I'm afraid I may have lost my work. Any thoughts?
    Just remove plugin files manually (from Plugins) folder.
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  14. #14
    0
    Quote Originally Posted by ufna View Post
    Just remove plugin files manually (from Plugins) folder.
    Thank you for responding! That was my second plan of action, but it results in this when I try to launch the project:

    Name:  Untitled-1.png
Views: 10039
Size:  10.1 KB

  15. #15
    0
    Nevermind, I figured out how to disable the plugin: https://answers.unrealengine.com/que...of-editor.html

    Very much looking forward to the 4.4 binary!

  16. #16
    0
    I've just tested the plugin with UE 4.4.0, it doesn't require any changes - you should just full recompile your game project and it will work.

    I've prepared "pre-build" version too, you can get it here: https://github.com/ufna/VaRest/releases/tag/1.1-rc6


    P.S. - Runtime plugins are not fully supported for content-only projects by engine! So, if you're using plugins in Content only project you won't be able to make Shipping build. I hope it will be improved in next releases
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  17. #17
    0
    As promised (somewhere or other), I've uploaded the project I created that won me the prize of "most entertaining" at the last hackathon I attended. I utilized the VaRest plugin to hit Best Buy's API and do some dynamic processing on it. This was more of a proof of concept for me, but it may be useful for someone that wants to see exactly how to implement these blueprint nodes in their project.

    I've open sourced the project here: https://github.com/alarial/BlastBestBuy

  18. #18
    0
    Samaritan
    Join Date
    Mar 2014
    Posts
    130
    Likely a silly question but can a POST also get an answer back like GET do?

    Example: I send a userID through a POST and I get the user's name and age for example?
    Last edited by bigzer; 10-22-2014 at 06:34 AM.
    David Hanson
    You can follow our FPS development here: https://www.facebook.com/storm.united.mmofps

  19. #19
    0
    Once you made a POST request you will get the answer. You can put into anything you want
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  20. #20
    0
    Samaritan
    Join Date
    Mar 2014
    Posts
    130
    Great, thank you.


    How does authentication typically happen with a REST API using UE4 and your plugin?

    Our game will release on Steam which has a WEB API to authenticate users.

    The way it works is like this:
    On the client the user requests a token to Steam
    The client receives it and give it to our REST server
    The REST server sends it to Steam and steam confirms this user owns the game.

    From there it seems we have to handle everything ourselves.

    In our game for instance once we know he owns our game we want to allow him to perform a series of operations on the REST API through POST. The problem I see are the following:

    1. What should you do on the REST web server to remember who is authenticated and who isn't? Is this the job of SSL or some other HTML authentication method?
    2. How do you prevent hackers to forge a JSON request manually and POST it on the REST API?


    Lastly, do you have a Paypal donation page, we'll very likely use your plugin
    Last edited by bigzer; 10-23-2014 at 10:12 AM.
    David Hanson
    You can follow our FPS development here: https://www.facebook.com/storm.united.mmofps

  21. #21
    0
    Quote Originally Posted by bigzer View Post
    1. What should you do on the REST web server to remember who is authenticated and who isn't? Is this the job of SSL or some other HTML authentication method?
    Use tokens as the Steam does. There are a lot of techniques how to implement it, but it's better to look info about it on web dev forums


    Quote Originally Posted by bigzer View Post
    2. How do you prevent hackers to forge a JSON request manually and POST it on the REST API?
    It shouldn't be a problem once you have tokens for authenication. If user wants to use any other "client" - let him use it, but you should restrict his possible operations by API itself. In result, there will be nothing to hack


    Quote Originally Posted by bigzer View Post
    Lastly, do you have a Paypal donation page, we'll very likely use your plugin
    Thanks, but I'm haven't it. Your comments here is the best reward for me
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  22. #22
    0
    Samaritan
    Join Date
    Mar 2014
    Posts
    130
    Haha alright, its done the most easy possible way, I'm a little paranoiac when it comes to security and often overthink stuff, this said tokens passed through HTTPS should do the job indeed

    Thank you for your insight and effort with the plugin, its very much appreciated, VaRest is going to be at the center of our work in coming weeks ^^.
    Last edited by bigzer; 10-24-2014 at 02:29 PM.
    David Hanson
    You can follow our FPS development here: https://www.facebook.com/storm.united.mmofps

  23. #23
    0
    Hey guys - I am looking to use parse and json to store server lists for my server browser. The main issue that I'm having here is I wouldn't know where to start! Can any one link some resources on where to start with such a task? Sadly to a novice like me the wiki page doesn't explain usage clearly enough.

  24. #24
    0
    I cannot for the life of me get this to compile on a Mac. Has anybody figured this out? I will pay you money to get this to work with 4.4 or 4.5 on Mac, PM me

  25. #25
    0
    Quote Originally Posted by shawmakesmusic View Post
    I cannot for the life of me get this to compile on a Mac. Has anybody figured this out? I will pay you money to get this to work with 4.4 or 4.5 on Mac, PM me
    It's strange, but I haven't Mac to make test on my own. What are the errors on Mac?
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  26. #26
    0
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  27. #27
    0
    Supporter
    Join Date
    Dec 2014
    Posts
    2
    I did work with an earlier version of vaRest, which is great! However I'm trying to make this plugin work on 4.6 now (downloaded your latest version 4.6 preview). I'm getting the Rebuild message, when I try to rebuild it fails and could not be compiled. What should I do to make it work? (I tried to run it in a clean C++ first person project). Thank in advance

  28. #28
    0
    Quote Originally Posted by ufna View Post
    It's strange, but I haven't Mac to make test on my own. What are the errors on Mac?
    According to this thread it needs to be recompiled specifically for the mac:
    https://answers.unrealengine.com/que...-on-a-mac.html

  29. #29
    0
    Hi, and thanks for this awesome plugin! Does this work with non-english strings? "Get String Field" doesn't seem to work for me with non-english characters (russian and chinese), is there maybe a workaround for this?

  30. #30
    0
    Hi,
    this plugin is awesome and thank you for developing it!
    But I have a strange problem with Parse integration. It works on Windows but on Android no... Other JSON requests work good on Android... How can I resolve this problem?

    Thank you.

  31. #31
    0
    Quote Originally Posted by kodmistrz View Post
    Hi,
    this plugin is awesome and thank you for developing it!
    But I have a strange problem with Parse integration. It works on Windows but on Android no... Other JSON requests work good on Android... How can I resolve this problem?

    Thank you.
    It seems to occur only when I do HTTPS request... For example http://facebook.com works but https://facebook.com doesn't work... So Parse.com (because only support HTTPS) doesn't work on Android...

  32. #32
    0
    Infiltrator
    Join Date
    Apr 2014
    Posts
    21
    Hey! I'm wondering if VaRest supports responses in the format of an array? Currently all I see supported is the `Get Response Object` where I feel like a `Get Response Array` node should also be available.

    Thanks!

  33. #33
    0
    Infiltrator
    Join Date
    Jun 2014
    Posts
    13
    Could you make a basic tutorial on how to PUT/POST and GET to and from a MySQL server? I've been trying to learn how to use this for the past week and I haven't had any breakthroughs.

  34. #34
    0
    Quote Originally Posted by FrozenDT View Post
    Could you make a basic tutorial on how to PUT/POST and GET to and from a MySQL server? I've been trying to learn how to use this for the past week and I haven't had any breakthroughs.
    This plugin is for interacting with a RESTful server, not a MySQL server. You can wrap a MySQL server with a RESTful server, but writing one is significantly out of scope for this plugin.

    It looks like MySQL actually does come with a RESTful API now. Look at www.infoq.com/news/2014/09/MySQL-REST for more information. Basically it looks like you need to enable and possibly configure a plugin, and then you can access the API over http with this plugin.

  35. #35
    0
    Quote Originally Posted by Dr_Jerm View Post
    Hey! I'm wondering if VaRest supports responses in the format of an array? Currently all I see supported is the `Get Response Object` where I feel like a `Get Response Array` node should also be available.
    It supports arrays in JSON format. You just need to fetch the json response and then use GetArrayField() function to get the array data.
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  36. #36
    0
    Quote Originally Posted by ufna View Post
    It supports arrays in JSON format. You just need to fetch the json response and then use GetArrayField() function to get the array data.
    Hrmm - am having some difficulty with this.

    I have a response with format:

    [{"FirstName":"Awesome","LastName":"Plugin","HighScore":"642"},
    {"FirstName":"Facing","LastName":"Worlds","HighScore":"377"},
    {"FirstName":"YouBe","LastName":"Dead","HighScore":"321"}]

    The response content reflects this, however the response object is empty meaning cannot try GetArrayField().

    As a test I tried to construct an object with the string returned by the content and this failed.

    Name:  JSONVARest.png
Views: 8344
Size:  138.0 KB

    However using just: {"FirstName":"Awesome","LastName":"Plugin","HighScore":"642"} Works fine.

    Am sure I am missing something simple.
    Can anyone show how they have used a JSON array as the response?

    Thanks for the plugin by the way.

  37. #37
    0
    Thanks so much for this awesome plugin ufna! I used it in my project to make a crude server browser. It works great!

    (The project is in my signature. If you need any storage or web space I'm giving some away on the shared host and vps I set up. Least I can do for your work!)

    *Also, if anyone wants to steal a crude server browser system you're welcome to download the stuff I built and adapt it. (It's a work in progress.)

  38. #38
    0
    Infiltrator
    Join Date
    Sep 2014
    Posts
    12
    I am having exactly the same issue as @JuiceMan118 Anyone has any ideas why it is not working or what we do wrong?

    Thanks!

  39. #39
    0
    Quote Originally Posted by JuiceMan118 View Post
    Hrmm - am having some difficulty with this.

    I have a response with format:

    [{"FirstName":"Awesome","LastName":"Plugin","HighScore":"642"},
    {"FirstName":"Facing","LastName":"Worlds","HighScore":"377"},
    {"FirstName":"YouBe","LastName":"Dead","HighScore":"321"}]

    The response content reflects this, however the response object is empty meaning cannot try GetArrayField().

    As a test I tried to construct an object with the string returned by the content and this failed.

    Name:  JSONVARest.png
Views: 8344
Size:  138.0 KB

    However using just: {"FirstName":"Awesome","LastName":"Plugin","HighScore":"642"} Works fine.

    Am sure I am missing something simple.
    Can anyone show how they have used a JSON array as the response?

    Thanks for the plugin by the way.
    Could u please provide an url to test the example with?
    Developer. Bass player. Cats owner. Unreal Engine addicted. Check my.alyamkin.com
    [Plugin] VaRest - REST API with blueprintable JSON plugin
    [Plugin] VaTexAltas - simple way to use texture atlases for UMG

  40. #40
    0
    Infiltrator
    Join Date
    Sep 2014
    Posts
    12
    Quote Originally Posted by ufna View Post
    Could u please provide an url to test the example with?
    If you need an example url, I have one at hand: http://api.blackboxvr.com/getlist.php - very simple but I use it to test it.

    Thanks!

Page 1 of 4 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •