└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ![helios banner](http://i.imgur.com/S16v4Ux.png) 2 | 3 | # Simple Data Integration in UE4 by Helios 4 | 5 | ![Diagram](http://i.imgur.com/2VHQoyr.png) 6 | 7 | ### About 8 | Integrating external data sources (i.e Twitter's API, data from an AWS server) into Unreal Engine 4 can be a real hassle for even the most experienced of developers. And for developers who primarily use Blueprints visual-scripting to build applications, this hassle becomes a near impossibility. More often than not, developers well-versed in handling web requests via simple AJAX calls must write vanilla C++ in UE4 to replicate the same functionality. Yuck! 9 | 10 | Enter the **Helios Simple Data Integration (SDI) Plugin**. 11 | 12 | The **Helios SDI Plugin** allows you to integrate external data into your UE4 client by interfacing directly with a web server using auto-generated Blueprints nodes (no more ugly C++ code!). With it, you can do things like: 13 | 14 | - Control an in-game experience via an internet-connected device (e.g. changing lighting, weather, etc.) such as an iPad 15 | 16 | - Send data to a server, to be consumed by a separate client (e.g. web app showing heat-maps of kill locations, live match-tracking tickers, etc.) 17 | 18 | - Communicate with third-party APIs such as Twitter, Facebook, Youtube, etc. from inside your UE4 client 19 | 20 | Facilitating the server-client interaction between a web server and UE4 Blueprints is critical for developers who want to enrich their in-game experience by pulling in (or pushing out) data sources external to UE4. The Helios SDI Plugin allows you to do this without ever writing a line of C++! 21 | 22 | Let's say, for example, you wanted to change the color of a gun in your game from your friend’s iPad--as we did in [our demo](https://github.com/HeliosOrg/Demo). You would [setup your server](https://github.com/HeliosOrg/SimpleDataIntegration/wiki/Server-Setup) and specify a DecalColor variable that you could control on an iPad connected to the internet. Then, to get the value of DecalColor in Blueprints, you'd simply... 23 | 24 | Search for the variable you’d like to get the value of: 25 | 26 | ![nodes_right_click](http://i.imgur.com/yzeKPwr.png) 27 | 28 | And drop the auto-generated node into your project! 29 | 30 | ![get_decal](http://i.imgur.com/oWyfee6.png) 31 | 32 | ### Usage Notes 33 | See the [plugin usage article](https://github.com/HeliosOrg/SimpleDataIntegration/wiki/Plugin-Usage) for more examples and for information on how to use the nodes. 34 | 35 | ### Installation Notes 36 | 1. First, follow the [server setup article](https://github.com/HeliosOrg/SimpleDataIntegration/wiki/Server-Setup). 37 | 2. Then, follow the [plugin setup article](https://github.com/HeliosOrg/SimpleDataIntegration/wiki/Plugin-Setup). 38 | 39 | ### Technical Details 40 | To create such simple Blueprint nodes, we had to do a bunch of non-intuitive work behind the scenes. If you want to learn how the plugin works and/or help contribute to this open source project, check out our [technical details article](https://github.com/HeliosOrg/SimpleDataIntegration/wiki/Technical-Details)! We learned a lot while building this plugin, so we've also shared some of the questions we had and roadblocks we ran into in case they're of any help to you. 41 | 42 | ### The Team 43 | 44 | | ![Derin Dutz profile](http://i.imgur.com/Y36vNH9.png) | ![Dennis Xu profile](http://i.imgur.com/txhQ4W2.png) | ![Ash Ngu profile](http://i.imgur.com/Lc5IIkR.png) | ![Ryan Davies profile](http://i.imgur.com/a7XueIR.png) | 45 | |:---:|:---:|:---:|:---:| 46 | | [Derin Dutz](http://derindutz.com/) | Dennis Xu | Ash Ngu | Ryan Davies | 47 | 48 | --------------------------------------------------------------------------------