After working on Tapps’ two first mobile games made with Unity, I began to work on an ambitious project: do all preparations to pivot the development of all new games from a proprietary game engine to Unity.
I worked on this project for one year as a senior engineer and one of the technical leaders. To pursue the goal of a smooth transition to Unity, my team was responsible for multiple different tasks: providing training for production teams, research solutions for existing issues with our development process, map and fix existing issues with our existing shared libraries and continuous integration infrastructure.
- Began to restructure our shared libraries from a single monolithic library to multiple small libraries
- Introduced Unity Package Manager and a private NPM registry as the official way to release and distribute shared libraries
- Interview all production teams (game designers, artists, programmers, etc.) to map existing issues and improve development processes
- Refactored our internal build system, removed shared dependencies with our internal game engine build process
- Reduced build time up to 60% by using Unity Cache Server
- Made a Prof of Concept of creating build agents using Docker and Unity images. Enabling easier scaling and Unity updates
- Introduced Unity Jar Resolver to handle native plugin dependencies resolution, reducing friction and enable more frequent updates