Headshot of author, Nick

Howdy! I'm Nick

Nick Day

Senior Unity Engineer, Available for Opportunities

Hi, thanks for stopping by! I am a lifelong tech-lover with over 15 years of working experience in software. From crashing the family Commodore 64 to my most recent projects, I’ve always been in search of new things to learn and try. I also love video games of all kinds–both playing and building them. Games drive a lot of my passion for learning and honing my software skills in some form or fashion, such as trying to recreate a novel mechanic or interesting shader effect.

How You Can Find Me

VR & AR
Web
Mobile
Gamification
Front/Backend
Sysadmin & IT

Skills

Projects

Disclaimer! Unless noted, please know all "artwork" was made by my talented coworkers or other designers and are shown here primarily as context and illustration of my contributions in bringing them to fruition within the engine/page/etc.

Build Pipeline
Build Pipeline
Platform: Unity - Jenkins - GitHub Actions Highlights: CI/CD - Automated Build Pipeline - Automated Testing

I was responsible for the build pipeline for our Unity projects, which included a Jenkins server and GitHub Actions. I set up the pipeline to automatically build and test our projects, ensuring that we could catch issues early in the development process. This included setting up automated tests and code quality checks to ensure that our code was always in a releasable state. At the start, developers were expected to make their own builds, which quickly led to a lot of confusion between configuration state and wasted time chasing all the platforms we supported. First, I put important configuration for each platform behind editor tooling to help standardize our working copies. Then, I added batchmode functionality to inject all the relevant credentials and parameters for each platform at build time, allowing us to run the builds straight from the command line from fresh checkouts. We stood up a Jenkins VM with a Unity license where I configured all the supported platforms and various hacks to older Unity versions to get them working on a nightly basis. From there I improved turnaround time with cache servers, build license servers for parallelization, and repository Jenkinsfiles for PR commit builds. Then, we moved the bulk of the Unity build to GitHub Runners so I needed to replicate much of the environment and state in our new customized build images. To date Jenkins remained the coordinating source of scheduled builds, but called out to GitHub Runners to make the artifacts. That also poised us to use Runners for our automated testing such as ensuring that each PR commit builds for every platform without requiring developers to switch and reimport the entire project several times per PR.

Platform Enginering
Platform Enginering
Platform: Unity - Photon - Svelte - Azure Highlights: Authorable networked XR experiences - State synchronization across arbitrary asset properties - Authorable snapshot states

As an early developer on the team, I helped take our applications from proof of concept to production quality by helping to extract and standardize the platform on which they were built and with which we could build further applications more quickly. This involved us creating systems and editor tooling to author and synchronize the state of scene objects across all clients, and to back up that state to our cloud service. We used an off the shelf networking solution, Photon, as a basic message bus between clients, and built our own protocols on top of that. Our web interfaces facilitated enrollment, scheduling, content management of the assets in a session, reporting, etc things you’d expect. For ease and speed of implementation, the messaging and state management was lots of JSON, but we had begun to push towards a more structured approach with protobufs and shared schemas to reduce transfer and storage.

HoloScenarios et al
HoloScenarios et al
Platform: Unity - HoloLens - Android - IOS - WebGL Highlights: Modular XR Training For Medical Institutions

These apps made full use of our platform, allowing users to author and schedule training sessions for their students. It was built to be a modular system, allowing us to add new content and features as needed. The apps were designed to be used in a classroom setting, usually with an instructor or multiple students in HMD like HoloLens but also with an arbitrary number of participants on mobile devices as ‘magic windows’ into the scene either in-person or remotely. It let instructors create and manage training sessions, and students could join those sessions and interact with the content in real-time. The apps utilized our web interface for instructors to manage their classes and schedule training sessions, or control the scenario directly in a WebGL control panel for some of the apps. I was directly involved in developing many aspects of our products, from the platform and networking, datastore communications, state synchronization, authoring tools, custom rendering pipelines required for performance targets and the level of dynamic response required from our patient, and various content authoring like setting up individual medical scenarios.

Finance Board Game
Finance Board Game
Platform: Unity - PC

A cooperative project with a tabletop company to create a digital version of their enterprise-geared cashflow edutainment game. This game required a very disciplined approach to its state and business logic due to its size and complexity and planned needs for cloud game saves. I made extensive use of ScriptableObjects to decouple the default game state and logic from the scene. I also implemented significant coverage with unit tests around the game’s core logic, in order to ensure we were staying accurate to the provided rule booklets, using Unity’s integration of NUnit.

CyberHeroLeague
CyberHeroLeague
Platform: Unity - iOS

CHL came to us partly complete but needed a team whose expertise spanned not only mobile development but could also handle the hurdles of physical device interfacing. Mobile exercise game for kids paired with a cheap BLE Fitbit clone wristband. I had to spend significant time in this project testing communication reliability and implemented lots of overhead above the serial connection to queue, throttle, and retry necessary actions while keeping the game feeling as responsive as possible.

VR Warehouse
VR Warehouse
Platform: Unity - Oculus Rift Highlights: VR Interaction - HID Interfacing - Complex State Systems - Precision Physics

Freight client sought to pilot VR forklift simulations in its training. Our environment would accompany classroom training sessions, track performance and understanding of the processes involved, and report metrics to instructors. We gathered video, scans, and lots of resources from job sites, including a few days of training in-person on the target heavy machinery. With the Oculus Rift/Touch, we recreated the machinery with its control systems in VR–even so far as using a Logitech wheel and pedals setup for steering and acceleration, which presented its own challenges.

Classroom Fitness Game
Classroom Fitness Game
Platform: Unity - PC - Microsoft Kinect Highlights: Skeletal Tracking - Gesture Recognition - Web LMS - Metric Reporting

This client wanted to gamify exercise for schoolkids. It was even featured in a writeup, check out the article here! It ended up with two lofty goals from a programming standpoint, utilizing the Kinect sensor in a user-friendly (KID-friendly) way, and tracking several of them finely enough to identify and count exercise motions. I created a method of tracking each skeleton, even if moving around the frame or in- and out-of-frame. I also made a simplistic gesture recognition framework, and a library of pose sequences with which my target “exercises” were assembled. I was able to track how close a person’s body was to the desired position and provide feedback on how to match the target, all illustrated through a fun rigged robot character doing the same exercises. To login, students held up to the Kinect camera a personal QR badge which was printed by the instructor from the Web LMS.

Wright Medical Mobile
Wright Medical Mobile
Platform: Cordova - iOS - HTML/CSS/JS Highlights: AWS Backend - Custom Content Sync w/out App Updates

I am frequently tasked with mobile apps to assist sales personnel, with one such example seen here . I used phonegap/cordova here to leverage my experience with web development. The app connects to a custom backend that syncs up file content (products, videos, brochures, etc) for offline access, and lets me make changes and additions without having to push a new binary through Apple’s approval cointoss.

Wright Medical Biologics
Wright Medical Biologics
Platform: Cordova - iOS - HTML/CSS/JS Highlights: AWS Backend - Custom Content Sync w/out App Updates - Enterprise Auth Integration - Enterprise Media & Catalog Integration - Web CMS Backend - Enterprise iOS Distribution

This app expanded upon the model I’d built with WMed Mobile for continuous product delivery without app updates. Its AWS-based backend communicates with an existing enterprise product and media asset system and delivers content securely to mobile endpoints, behind the client’s own Okta-based directory authentication.

Pilot Alumni Presentation Prep & New Pilot Hire Initiation
Pilot Alumni Presentation Prep & New Pilot Hire Initiation
Platform: Web - HTML/CSS/JS Highlights: VueJS - Webpack - AWS - DocuSign NDA Management

These small-scale sites were built for pilot presentation material ordering, and for new pilot hire initiation training. The stack chosen utilized a static generated site with VueJS providing state, routing, etc but otherwise cheaply hosted via CloudFront/S3. Form submissions, email confirmations, etc were handled via API Gateway and Lambdas in NodeJS.

PowerPlant
PowerPlant
Platform: Unity - PC - WebPlayer Highlights: Liquid Flowmaps - Particle Turbulence Systems - Unity's 'new'(then) Canvas UI System

A chemicals company wanted a slick interactive showcase to be used by their sales team. We created an artistic powerplant environment with dynamic lighting, UI, animations, particles, and even liquid flow.

SharkVR
SharkVR
Platform: Unity - Oculus Rift Highlights: Aquatic Environment Effects - Volumetric Lighting - Myriad Control Scenarios (Walking, Submarine Travel, SCUBA Diving) - Animation Controllers - Splines and Pathfinding

Unfortunately the Kickstarter for this project didn’t complete, but I made a lot of headway in our playtesting and prototyping. This included working with the then-still-new Oculus developer kit, and ramping up on many concepts like water caustics, mixing rigged and point-cache animation methodologies, laying out bezier pathing controllers for sea creatures, and more

Details
VR Home
VR Home
Platform: Unity - Oculus Rift - WebPlayer Highlights: Environment Optimization - Light Baking - Technical Artistry and Tools

This was a beast of a project and a well earned lesson in many aspects of rendering and optimization for lighting, baking, and VR performance. Our first attempt to slap an entire modeled 3D home in a scene and run was a massive slog, so from that starting point I learned to whittle and tune and profile like a champ. I introduced the usual suspects like occlusion and frustrum culling, instanced materials and geometry, tuning the lighting and advising on mesh construction, LOD levels, and texture atlassing. We learned a ton and eventually delivered an immersive floorplan visualizer when VR was just taking root.

VR Operating Room
VR Operating Room
Role: Sole Developer, later Technical Artist Platform: Unity - Oculus Rift Highlights: Precision Interaction - Optimizing for Quality

This was an internal demo project we revisited several times over the years to show off different aspects of our work. The main concerns were to make it as visually impressive as possible, and show off cool interactive features. Choosing which parts to emphasize quality-wise was key for performance, and we’d always have to balance that with what was actually discernible in the headset. Our interaction sequences would often have the participant assembling some medical device from one of our clients onto a poor patient’s open knee or foot.

VR Manager Training
VR Manager Training
Platform: Unity - HTC Vive Highlights: Performance - Rendering and Lighting Tweaking - Packaging for Deployment

This project was geared towards soft skills training that put students through several managerial scenarios and prompted decision making. I was tasked with profiling and optimizations, and other technical art wizardry, to finish delivery.

Wright Medical Cite Room
Wright Medical Cite Room
Platform: Unity - Oculus Quest

This archviz project was to help visualize the client’s proposed revamping of their product showroom. We recreated the planned space to scale, modified the construction based on the proposals, and allowed executives to preview the functionality before committing to costly renovations.

LoadCaptain
LoadCaptain
Platform: Unity - WebPlayer Highlights: Complex Training Curriculum - Major Asset Optimization for Web Deployment - Web Metrics Backend - Nightly Grade Reporting to Enterprise LMS Systems

LoadCaptain was one of my first Unity projects, coming from years of web development. I was its sole developer, so I really had to hit the ground running. It featured a 3D tarmac and airplane environment, complete with cargo interior, loading scaffold equipment, and tarmac carrier trams for the various freight. We had dozens of lessons and plane configurations to build, each with very specific cargo securement orders and techniques. Participants across the country got graded, recorded, and reported to a central metrics database (VPS with a REST API, backed to MySQL) and transmitted to the enterprise LMS in a nightly cronjob. This program was used for years after WebPlayer was deprecated and instructors were forced to give up the last version of IE that supported it.

Experience

1
Senior Unity Engineer
GigXR, Inc

May 2021 - May 2025, Remote

GigXR was striving to build an accessible platform for creating augmented reality applications with a focus on HoloLens and mobile AR. We ate our own dogfood by publishing first-party applications atop the platform as it was built. I’d been involved in nearly all areas of development across the HoloLens/Quest/Android/IOS/WebGL apps (HoloHuman, HoloPatient, HoloScenarios), as well as with development of our underlying platform and deployment of our SDK to third party partners.

Responsibilities:
  • Developing networked, user-authorable XR experiences in Unity for HoloLens, Quest, Android, IOS, and WebGL platforms.
  • Developing underlying platform and tools used on which applications are built, both for first- and third-party targets.
  • Bundling and deploying platform code and accompanying tools to Unity Package that could be easily imported by third parties.
  • Took PoC MVP applications and hammered them into fleshed out and robust software, including architecting and building the foundational systems that would be our SDK.
  • Helped grow the team from a tiny group, from developing onboarding materials, improving developer experiences, interviewing, and ultimately mentoring some very talented folks.
  • Almost entirely built our devops systems from scratch including extensive editor tooling, build and test automations, deployment management, and LOTS of experience fussing with platform stores and deployment requirements. This included modifying the Unity installations during our build process to update tools like gradle and the JVM for supporting the latest Android APIs in older versions of Unity that did not originally support them.
  • Stood up our CI/CD pipeline and got devs away from building on their own machines. Started with Jenkins and build VM agents, then managed migrations to containerized parallel builds via Github Actions.
  • Massively improved our performance across platforms through profiling and optimization, including a lot of work on our custom shaders and materials. Lots of working with our animators and artists to help them understand the limitations of the platforms and how to work within them.

Senior Software Engineer on Contract
FoxCubGames

Jan 2021 - Apr 2021, Remote

In my previous role, I handled web and javascript game tech as needed but was primarily a Unity developer due to a focus on VR and realistic training simulations. FoxCub presented an interesting opportunity to stretch my legs with Typescript, explore the Cocos and PixiJS game engines, and experience life as part of a larger developer team than I’d seen since my university days. I was involved at all levels of the tech stack, from code changes in the client and server projects to digging around AWS infrastructure and build box shells.

Responsibilities:
  • Took on development of a new minigame near the end of its schedule after a different contractor’s efforts proved unusable. Brought the feature to production and maintained our original deployment milestones with Facebook, despite being relatively new to the codebase and game engine.
  • Led work to surface and track game/infrastructure faults and messages to an external dashboard that tied in with Asana task management. This included Sentry.io integration with existing codebase and modifications to the custom Perl build pipelines to generate and upload source code context with each release.
  • Ported existing Cocos game from Facebook Instant as proof-of-concept on a new social media platform, charting procedures and pitfalls for a coming new game offering on the platform.
  • Ramped up and began contributing within first week. Greatly improved team onboarding as I went through it myself by gathering disparate learning resources and standardizing an Asana template-driven process that can be easily spooled up for each new hire to guide them through the materials and track their progress for mentors. My process changes were immediately put to use for multiple additional hires and said to have smoothed out and sped things up significantly.
  • Tackled fixes and additions by my second week along the entire tech stack for the game, from the Typescript/Cocos/Facebook client to its Typescript/Node/AWS Elastic Beanstalk servers. Within a month I began to take on responsibility for full release cycles and oversaw several during my time, including guiding the full team through internal QA and playtesting.
2

3
Partner, CTO, Lead Engineer
The Danse, LLC

Fall 2012 - Jan 2021, Memphis, TN

When I was approached by The Danse, they were taking on more interactive projects and I was very eager to learn game engines and design. I have since tackled many challenging and interesting projects in my role here, from things as simple as a single-page mobile app for a local doctor’s office, to monstrous VR training simulations for a major corporation based in Memphis that spanned more than a year.


The University of Memphis

Spring 2005 - Fall 2012, Memphis, TN

Web Specialist II

Spring 2011 - Fall 2012

  • A reorg in IT left me with another bump in my position, one of the highest tiers of software developer prior to a management role. Here, I would continue to operate online learning solutions, support and develop new features for all my previous projects, and take on new challenges in a larger team, such as helping build early versions of UofM’s first mobile app.
Technical Systems Consultant

Spring 2008 - Spring 2011

  • My development responsibilities continued, maintaining web services and making new ones as needed. I became the sole dev in this department, leading projects from requirements elicitation to eventual training of end-users on their newly developed tools. My oversight of the online course systems grew, also, as I handled all admin tasks, major support needs, and collaborated across our state with admins of the same systems at other individual institutions.
Assistant Systems Admin

Fall 2006 - Spring 2008

  • I was familiar with coding and databases from personal interest prior to college, and as student assistant I began helping with web maintenance and bug testing. Ultimately I moved to full-time development within a team. Also here I moved into support and administration for the campus- and state-wide online class system.
Lab Attendant

Spring 2005 - Fall 2006

  • I oversaw equipment and people in the computer labs, at first, then managed computers and visual equipment across the campus. I also acted as first-tier technical support for Faculty and Students at the university.
4

5
Student, Computer Engineering
The University of Memphis

Enrolled Fall 2002, Memphis, TN

Recent Posts