For the past couple of months I’ve been working on bringing TensorFlow to UE4, enabling the use of state of the art machine learning in Unreal Engine projects. The plugin has reached something I think is ready to try out, but it is very much a work in progress so please check it out and give some feedback if you can!

I had the awesome opportunity to join a team with Matt Burri and Mark Bailey for the VRFocus Virtual Reality Challenge. A 24 hour session of frantic coding, meowing, and last minute hacks to get something playable.

Our team cobbled together Catastrophe, a subversive multiplayer game where you have to save falling kittens while waiting to betray your fellow coop partner. Here’s an early singleplayer gameplay video:

The game only really picks up its true form in multiplayer though, which is what we presented at the end of the countdown as the winning entry. VRFocus covered their event extensively, their articles, a recommended reading.

My favorite part of jams is always the end when you get to try what the other teams did; inspired entries, each with their own unique take on the theme, in this case ‘A safe pair of hands’.

Apart from being crazy fun, there were a ton of challenges which we later covered as a presentation during the latest London UE4 meetup.

I’m a big fan of web technology. Scripting in javascript makes me jealous that VR development isn’t quite as easy just yet, with this release that development gap hopefully shrinks just a little bit.

For the third London is Unreal meetup I made a presentation on the topic of plugins and chose to implement a useful plugin live during the presentation. A socket.io client was chosen as the plugin, which was finished with a basic Connect, Bind, Emit functions and an On event all interfaced through an Actor Component. Doing this in a small time frame was a daunting task, but something I was certain was doable. While I didn’t meet my target of 15min for the live implementation, within 25minutes the whole meetup was chatting away from their phones with a UMG chat widget in the game engine.

If you’ve haven’t heard of socket.io before, it is a performant real-time bi-directional communication library. There are two parts, the server written in node.js and the client typically javascript for the web. There are alternative client implementations and I’ve used the C++ client library and ported it to UE4. In sum, it makes networking very easy, real-time and flexible.

Further work on the NexusVR application has required me to find a solution to handle zip files. Having found no suitable alternatives, I decided to port 7zip to UE4. This resulted in the ZipUtility plugin.

Fully multi-threaded and exposed to C++ and Blueprint, it allows for easy extraction and progress update.

From 7zip support for many file formats are available such as Zip, 7-Zip, GZip, BZip2, RAR(decompress only), TAR, ISO, CAB, LZMA, and LZMA86. This and some utility windows file API functions means that it should serve my needs well and I hope you UE4 developers will find good use for it!

The concept was a DK2 portaling app that allowed you to transit between VR experienced you loaded in your folder. The original goal was a multiplayer social portaling hub, but due to time constraints the multiplayer aspect of it got dropped. What did make into the final version though was a fully enabled chromium browsing experience which you could browse using your hands in VR.

If you wanted to share something you were browsing to the big screen a simple reach into the browsing window (depth interaction) would convert the current page into a data cube. This data cube could be easily transferred to any visible surfaces which would render the link or video.

Mac Cauley’s visuals created a vibrant landing area that will be the core meet up place in the future social version!