Mesh Slicing Unity Plugin

  • Notable Accomplishments: Utilized C# and the GPU to create a performant mesh slicing plugin feature for Unity. Developed easy-to-use custom GUI controls for quick designer implementation.

  • Language: C#

  • Engine: Unity

  • Production Time: Ongoing

  • Link to Github: Mesh Slicing on Github

For this project, I created a custom plugin for the Unity engine that allows designers to dynamically slice or explode both static and rigidbody meshes at runtime with the click of a single button. I developed this feature after feeling frustrated by the lack of cheap, easy-to-use mesh splitting tools for Unity.

OpenGL Studies

  • Notable Accomplishments: Used C++ and FreeGLut to implement a cutting-edge multi-scale solution for runtime ambient occlusion in OpenGL.

  • Language: C++, FreeGLUT

  • IDE: Visual Studio 2022

  • Production Time: 3 Months

  • Link to Github: OpenGL on Github

For this project, I spent several months exploring the world of graphics programming in OpenGL, implementing critical techniques like render textures, reflections, and skyboxes. My work culminated in the implementation of a highly performant multi-scale screen-space ambient occlusion solution, based off the research of Thai Duong and Kok-Lim Low. View the video on the right for a deep dive into this implementation!

Custom Game Engine Devlog

  • Language: C++, Lua

  • Production Time: Ongoing (Sep 2026 - Dec)

Over the next several months, I will be writing a custom multi-platform game engine for a systems design graduate course at the University of Utah, taught by Nvidia engineer Tony Kanell. The linked page will track my engineering progress through weekly write ups and downloadable game builds.

C++ Resource Manager

This is a resource manager system responsible for loading, owning, caching, unloading, and providing access to various game assets for a mock roleplaying game. Additionally, this project features custom buddy and freelist memory allocators, garbage collection, and exceptions.

Animation Source Code Review + Analysis

This is a presentation on animation source code in both Unreal Engine 5 and Godot, which I created and presented for a master’s programming course at the University of Utah. Wanting more experience with large codebases, I hopped into the UE5 and Godot source code to better understand how each engine handles common systems like frame interpolation, animation playback, and skeletal deformation.

UE5 Behavior Tree

  • Notable Accomplishments: Used the UE5 blackboard and behavior tree systems to create efficient maze pathfinding algorithms for NPC characters, considering distance to node and specified node cost

  • Language: C++, Blueprints

  • Production Time: 1 Week

  • Link to Github: Behavior Tree on Github

For this project, I wanted to study behavior trees and efficient NPC pathfinding algorithms. I use the UE5 blackboard to create a pathfinding algorithm for an NPC lost in a maze that must choose between linked nodes to search for an endpoint. My implementation does not use any built-in UE5 pathfinding support, relying entirely on blackboard and blueprint logic.

UE5 Custom Physics Engine

  • Notable Accomplishments: Used C++ and blueprints to create a custom physics engine in UE5.

  • Language: C++, Blueprints

  • Production Time: 1 Week

  • Link to Github: Custom Physics on Github

Wanting to better understand object/character movement in game engines, I decided to roll a custom physics solution for UE5. My implementation utilizes C++ and blueprint children to handle velocity-based movement, gravity, and collision implementation/resolution for a large number of actor objects while maintaining strong performance.

Raymarching Environment

  • Notable Accomplishments: Developed a custom raymarching fog shader using HLSL and visual scripting in UE5.

  • Render Engine: Unreal Engine 5

  • Production Time: 6 Weeks

  • Concept Reference: “Heavy Air” by Vladimiar Motsa

For this project, I dabbled in technical envrionment art in Unreal Engine 5 to create a heavy raymarching fog shader. Using C++, HLSL, and the UE5 material graph, I was able to create develop a tool that allows users to paint volumetric materials by hand,.