I’ve been looking around trying to figure this out but I can’t seem to find a solution. I want to make it so the “server” of my game has a web service that can be called RESTfully and return back json results of whatever I want.
My game(s) are built using blueprints so I was hoping there was a way with blueprints?
I have found a few resources but one of them is not finished it seems and the other is for making REST calls not serving them.
I am wanting to make something that will be open source and free.
So my questions are:
Can this be done purely in blueprints?
If yes then how? A resource, documentation, tutorial or anything would be great.
If no then can I make it possible by creating some type of plugin?
I am assuming yes to the last question but my c++ skills are minimal so I’m really hoping for a purely blueprint solution IF I have to write some c++ what are some good resources for making a plugin and adding blueprint functionality?
Sorry for the long post but I’ve wanted to do this for some time and haven’t been able to find a solution.
Varest has been popular for a while for this but it will still require you to either implement the functionality in unreal yourself or use a server side langauge of you’re choice to do it . Most popular used to be php but nowadays a lot of people are using other alternatives such as node.js for example
This is still the opposite of what I am looking for tools like Varest are used for MAKING requests to RESTful servers and that subject seems to have lots of solutions. What I am looking for is a way to SERVE RESTful requests to things MAKING those requests to the server.
That UWS tool looks like it will do that but like I said it doesn’t look finished and it looks like its not going to be free/opensource so I won’t be able to contribute to it.
The basic idea is that I would like to be able to give a website the ability to query my game server and get information about it.
Think about it like this. I am wanting to add functionality like RCON but doing it in a RESTful way. So things can request lets say a list of users and it gives back a json array of users. Instead of like RCON which responds back with a plain string of users.
You will not be able to do this in blueprint. You will need to create a plugin, or modify an existing plugin to do this. You can use the one below as a guide but be advised - this HTTP server plugin is created for Unreal Tournament. I have been able to recompile it for Unreal Engine just by removing the UT stuff and commenting out appropriate lines in C++. But you will need to understand C++ to make changes to it and expand it to your own needs. Also be advised that there is zero security implemented for this, and you will also need to design your own methods for communicating from worker thread to main game thread.
Ignore that last part. It runs on a timer loop in the main thread, not in a worker thread. It’s been a while since I looked at it and I ended up not using it at all. Other things you can look into are ways of embedding a node server into a c++ project, or maybe a WCF listener. Again things that I researched but never did anything with. Good luck!
I can’t really remember why I stopped working on this but Unreal.js was promising. You should be able to start something like an express server or something from within unreal engine using it. I still think it would take some c++ code to make it work fully but you could attach a webserver startup to a custom gameinstancesubsystem.
Honestly I might look back into this now that you have brought it back to my attention lol. Btw that plugin I mentioned in the beginning is on the marketplace for $50 but this one also for $50 seems like it could be a better solution if you’re looking to do it all in blueprints like I originally was.