For the past couple of nights, while plowing through the codebase, I've been working on a plugin that allows you to communicate with servers through JSON with pure Blueprint nodes! Since I figured it could be helpful to at least some of you, I'm sharing the complete package!
- Post to any URL
- Get JSON data from any URL or string
- Create your own custom post data with the Create JSON Data node
- Get and set object/string (array) values in the post data, by key
And the resulting output post data from the example:
Download link *UPDATED 5/12/2015*:
Unzip the archive to the Engine/Plugins folder and enable the plugin in the Plugins window in the editor
- Added an event broadcaster for when the request fails for any reason (cheers Kheka!)
- Compiled with UE4.7.6
- Added header Content Type "application/json" for mobile/Android support (thanks Zakkar!)
- Added node for getting all keys from the data (thanks johnbo!)
- Added a "From String" node, so you can load JSON data from a string, instead of being forced to use URLs (cheers conneich!)
- Updated the plugin to UE4.7.3
- Changed the version number to 0.8
- Built the plugin with the correct version info so it will actually boot from the launcher build (thanks again Patrik2991! )
- Updated the plugin to UE4.7.2
- Updated the plugin to the 4.6 release branch
- Updated the plugin to UE4.6
- Updated the plugin version to 0.7
- Changed the plugin type from Developer to Runtime so it will also run in packaged games
- Added array support for both string and field data
- Refactored some of the code
- Created a proper icon for the plugin
- Made most of the functions pure, so it doesn't require as many intermediate variables
- Updated plugin to UE4.5 (sorry for the delay!)
- Updated plugin to UE4.4
- Updated plugin to UE4.3
- Fixed a bug by prefixing the input URL with http:// when needed (it crashed the editor)
- Fixed crash when trying to load a URL with invalid JSON data
*NOTE: If you can't see the JSON category or nodes, be sure to turn off "Context Sensitive"
If you guys have any comments, feature requests or improvements, please don't hesitate to ask.
Lastly, I just want to give a shoutout to Rama for being a big help with his tutorials, if you're reading this, cheers buddy, you're awesome!