Niantic // Upgrading Ingress to URP (Universal Render Pipeline)
Niantic // Ingress // URP
Tech Art - Graphics Engineering
Highlights
Smoothly shipped rendering upgrade on 12-year old Ingress graphics architecture
Most well received feature by players in years
As said by Ingress' most long time (and deservedly most critical) players
Faster startup time, improved battery life, less lag, snappier animations
Documented my process and converted that into a blueprint for Pokemon Go Tech Art team to follow
Guided PGO team on how to approach production strategy, and how to more accurately estimate timelines
Projected PGO team saving ~1 month of work for 10+ people, leading to faster shipping and high cost savings
Fun things about the project Receiving support from an extremely experienced technical artist was a great opportunity to up-level my skillset.
Diving deep into the nitty gritty of optimizing for mobile apps
GPU instancing, dynamic batching, techniques for reducing draw calls
Wrote a dev diary to help show players what it looks like under the hood
Engaged with players on social media, specifically to our Japanese players where a large chunk of the Ingress audience is located.
Ingress took on this upgrade before PGO team did, so it was a great opportunity to test the waters and then guide the PGO TAs strategy for their production, making it more efficient by sharing knowledge between teams.

Challenges
I was the solo developer from Ingress team for this project, although received incredible support from an experienced technical artist from shared services at Niantic.
Touching every shader means checking every pixel in the game which means testing everything you can do in the game. Community writing is very different than technical and academic writing!

Players are critical and don't always understand why certain changes are made. The intent for this project was to have as little change as possible so players don't notice, but some choices were made due to URP constraints (like not being able to use any surface shaders) that made the upgrade challenging.
That meant a few shaders needed to be rewritten in a different way to render in the new architecture. Having subtle visual differences is fine for Ingress, but can create a lot more problems for Pokemon Go if their team were to run into this issue. So I coordinated with the PGO team on the strategy to avoid any of these visual issues that would likely not meet TPC (The Pokemon Company) approval.
We were able to establish a pipeline for Pokemon Go that avoided these future scenarios, even sharing shaders or include files where it made sense for their codebase. I met with individual tech artists and guided questions in Slack while they continue their own upgrade, while maintaining my responsibilities as a Technical Artist on Ingress.
Skill Upgrades
URP+++
Mobile Optimization+++
Shaders++
Cross-team Coordination++
Mentoring Others+
Community Writing+
Comments