Introducing Fetch - A Simple HTTP Client for Unreal Engine

Introducing Fetch - A Simple HTTP Client for Unreal Engine

Before I proceed, let me discuss a bit why I wanted to create this plugin. If you just want to use this plugin, jump straight to the unreal-fetch GitHub repository.

Back Story

In December 2020, I participated in the Epic MegaJam & it was fun. That was my first game jam & I built this.

adZb3c.png

Before I ship the game, I wanted to know how people are playing my game. Basically, I wanted to add some analytics. But most of the game analytics solutions use Unreal's C++ SDK & I was scared of C++ at that time.

Since I am familiar with Mixpanel, I wanted to send some data via HTTP. Oh boy! That was even harder. There were some solutions, but they were harder to use (at least for me). So, I couldn't do that & I shipped my game without analytics.

That's why I started learning C++ & create an easy to use HTTP client for Unreal Engine, primarily focusing on Blueprints.

Meet Fetch

After a few weeks of experimentation, here comes Fetch. This is how to make a simple POST request & extract a field from the response JSON.

HelloWorldUnrealFetch.png

You can watch this getting-started video as well.

Before jumping into the world of Unreal, I build web apps for about ten years, I wrote a lot of HTTP-related code. The Fetch API is one of my favorite HTTP related APIs. So, I use it as the base when designing the API for this plugin.

If you know about the basics of HTTP/Rest APIs, this plugin allows you to make them without juggling through a lot of boilerplate.

OpenSource & Selling on Marketplace

I love making open-source tools. This plugin is no different. I published under the MIT license, so you are free to do almost anything with this plugin.

But I am also selling a pre-compiled version of this plugin on the Unreal Marketplace. If you don't want to compile this yourself or get updated as I push them, this is something you should try to get.

This is also a great way to support me.

Future Updates

I shipped this plugin without the binary support. But having binary support is useful for some use-cases like downloading textures at runtime.

I plan for an update with the binary support & some additional features. See you soon & happy new year.