Projects

→ Brain - Behaviour Tree (Unity,AI,Behaviour-Trees)

This is one of my larger tools projects for the Unity Game Engine and is the culmination of several smaller explorations into creating an editor tool for AI in games. It’s an editor tool and runtime implementation to create highly customizable Behaviour Trees for the Unity Game Engine.


Image

→ FuncIRC - IRC Client written in F# (F#)

An IRC client written in F# to explore some concepts related to functional programming.

→ Graphics Programming in Unity (Unity,Graphics)

Tiled Deferred/Forward+ for URP
Project exploring a way to enable the use of tiled deferred shading combined with the built-in Forward mode of URP. Also contains functionality to enable Forward+ lights through Shader Graph.



Procedural GPU Quads
Short and simple example of procedurally drawing quads in a GPU based particle system. Uses compute shaders to effectively update and render the quad particles.

→ ReGizmo - On-Demand Gizmo Rendering (Unity,Gizmos)

Gizmo rendering in Unity is mostly only accessible from the OnDrawGizmos and OnDrawGizmosSelected methods on MonoBehaviours. With this project I created a more in-depth Gizmo rendering solution that allows the user to render Gizmos from any context inside Unity, both at runtime and in editor. It supports rendering to both the Game View and the Scene View and you can call on the draw methods from any method and class. On top of this it utilizes instanced and procedural rendering calls meaning you get max performance even with several thousand different gizmos active at a time.

Internally it is using the Graphics API directly and as such it is not constrained to a specific graphics pipeline and will work across Legacy, URP and HDRP or any other pipeline made with SRP.

→ ReInput - Hybrid Input Manager (Unity,Input)

A small and quick event-driven input package to make the process of creating input layout schemes faster. This project was made to make the process of starting and working on rapid prototyping projects easier, while also centralizing the place where input keybinds are set.

→ RePacker - Fast and Flexible Binary Serializer (C#)

A high-performance binary serializer written in C# for non-persistent data transfer.

→ Tools & Utilities for Unity (Unity,Tools,Utility)

Sprite Collider
Small tool/utility to create pixel aligned colliders for sprite animations in Unity.



Auto Bind
Small tool/utility to automatically bind components in MonoBehaviours on the same GameObject



ReTag
More extensible tag system allowing multiple tags to be created for a GameObject.



ReTween
Lightweight and extensible tweening library.



Color Picker UI
Color picker UI for in-game use.



ReGradient
Editor tool to create and export linear gradients to png.