NOTE: The following projects were for clients, so only the ones that were made public include screenshots/videos.

LG Meta Slap

Period: Aug 2022 - Feb 2023
Platform: Windows & Mac
Role: Unity Engineer
Engineers: 4
Description: a virtual office “metaverse” application developed during the COVID-19 pandemic

Unity Blog: LG U+ fosters real connections for virtual offices

Notable Contributions:

  • implemented an in-app messenger using SendBird (basically a clone of KakaoTalk)
    • incremental message history loading based on scroll
    • file/image uploads with expirations
    • 1:1 and group chats
    • user profiles, favorites, mentions with autocomplete
  • implemented video and voice chat with Agora library
  • implemented native plugins for both Windows and Mac
    • file selection and save dialogs
    • window resizing and “always on top”
  • replaced AWS API calls with custom backend API
  • integrated Unity analytics

App Optimization - Project Makeover

Period: Feb 2023 - Apr 2023
Platform: Android
Role: Unity Engineer
Engineers: 3
Description: The goal of this project was to profile the whole application to make as many optimizations as possible.

Project Makeover on Google Play

Notable Contributions:

  • reduced GC (closures, boxing, temporary allocations, etc.)
  • reduced audio and texture storage space
  • improved loading times via config values and caching

Multiplayer Game

Period: Apr 2023 - Jul 2023
Platform: Windows
Role: .NET Backend Engineer

Notable Contributions:

  • implemented basic player matching
  • developed a mock .NET backend service that can be swapped in and out with the real external dependency; this was important for deterministic testing; this mock service includes the use of RPC and Redis
  • improved stability by catching potential regressions and edge cases via improved code coverage and CI

NUHS Holomedicine

Period: Jul 2023 - Sep 2023
Platform: Microsoft HoloLens 2
Role: Unity Engineer
Engineers: 4
Description: Project for the National University Health System in Singapore which utilizes Mixed Reality Toolkit (MRTK).

Notable Contributions:

  • implemented high performance filtering using Burst and the Unity Job System
  • implemented ultrasound user flow
    • instruct user to translate/rotate/scale a cuboid and use the medical handheld device to scan within
    • convert world-space values to cuboid-space
    • send scanned data to backend via gRPC
    • display loading indicator while asynchronously awaiting the result of 3D mesh reconstruction
  • implemented play-mode tests that simulate XR interactions in the editor (e.g. pressing buttons and interacting with the cuboid)

Satellite Monitoring Prototype

Period: Oct 2023 - Nov 2023
Platform: Windows
Role: Unity Engineer
Engineers: 1 (and 1 TA)

Notable Contributions:

  • implemented camera controls (rotate around the Earth model and zoom in/out)
  • implemented deterministic orbits using the equation for an eclipse, and expose properties that TA can configure
    • we initially used the Splines package but it was inefficient
  • trigger alert when a satellite gets too close to debris or another satellite; then enter simulation mode for collision predication
  • wrote a compute shader that renders thousands of quads that always face the camera and rotate around the Earth in random orbits

Smart City Project

Period: Nov 2024 - Feb 2024
Platform: Windows & Mac
Role: Unity Engineer
Engineers: 2
Description: Visualize city data such as building visitors, sales, weather, populations, etc. Visualizations include day/night system, rain, clouds, heat map, world-space UI, point cloud, and others.

Notable Contributions:

  • developed a custom editor window using UI Toolkit
    • designed importer to parse, filter, and transform CSV data to binary for efficient storage and fast reading at runtime
    • utilize Unity’s Background Tasks Window for asynchronous imports via the Progress API; tested with CSV files up to 10gb in size
  • implemented simulation playback: select a date range via calendar pickers and then use the play/pause button and slider to simulate
    • also implemented split screen mode to simulate and compare two date ranges side-by-side
  • utilized low-level code and the MemoryMappedFile API to reference a specific range of data without needing to load the whole binary file
  • applied custom and minimalistic dependency injection resulting in zero singletons in the project
  • caught data import bugs and runtime data presentation bugs thanks to unit and intergration tests

ADAS HMI Project

Period: Feb 2024 - Apr 2024
Platform: Windows
Role: Unity Engineer
Engineers: 3
Description: Advanced Driver-Assistance System | Human-Machine Interface

Notable Contributions:

  • developed custom editor windows using both IMGUI and UI Toolkit
    • add/remove/edit data items and save in ScriptableObjects
    • handle communication between multiple editor windows; basically a master-detail UI with a tree view of data items

Updated: