top of page

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

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!

"Pinkgress" (very broken)
"Pinkgress" (very broken)

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


bottom of page