
ALARA Prime
Fall Damage
Unreal Engine
Technical Artist
FPS
Tools
C++
Shaders
A 4v4v4 competitive tactical first-person shooter. I worked on this game for 6 months, making tools, shaders and optimizations. One of the more interesting features I made was adding support for multiple physics actors for static meshes to support bullet piercing for room-scale meshes.

DeviceRGB
Unreal Engine
Plugin
C++
Rendering
Shaders
A plugin for UE4 that allows developers to control RGB devices from various manufacturers using materials. These materials generate compute shaders that drives the system.

Bloodhunt
Sharkmob
Unreal Engine
Technical Artist
Third Person
Tools
C++
Python
Shaders
A battle royale game set in the Vampire: The Masquerade universe. I worked on this game for 2.5 years, doing everything from adding engine features in our modified version of UE4, to technical visual effects, like the Red Gas or outlines.

Neat Metadata
Unreal Engine
Plugin
C++
Tool
Metaprogramming
A plugin for Unreal Engine that exposes various metadata to Blueprint that is otherwise only available in C++. It also serves another purpose for C++ developers, making it easy to discover and explore new metadata you might not have been aware of, and see the results of changing it instantly.

Neat Functions
Unreal Engine
Plugin
C++
Tool
Metaprogramming
A plugin for Unreal Engine that contains a collection of useful CallFunction nodes for cases where you want more functionality, such as exposing delegate pins inline on the node, or dynamic object creation nodes with ExposeOnSpawn pin support.