
Unity Technologies2020–2026
CI et automatisation des tests pour l’organisation Engine de Unity
Six ans sur les systèmes de CI et de tests du moteur Unity. J’ai migré le code Graphics SRP (500 développeurs, 30 000 commits) dans le dépôt du moteur sans perte de données ni arrêt du développement, et la couverture de tests a été multipliée par 50.
- 500 développeurs sur le code migré
- 30 000 commits migrés
- ×50 couverture de tests
- 20+ plateformes testées
- 0 perte de données, aucun arrêt du développement
Contexte
L’organisation Engine de Unity développe le runtime et l’éditeur Unity. Ses tests graphiques tournent sur plus de 20 plateformes : desktop, mobile, XR et consoles, dont certaines sous accord de confidentialité. J’y suis entré comme Software Development Engineer in Test et j’y suis resté six ans.
Problème
Le code Graphics SRP et ses tests vivaient hors du dépôt principal du moteur, et les mises à jour arrivaient par phases au lieu d’être intégrées en continu. Les problèmes d’intégration apparaissaient tard. Dans le même temps, la suite de tests devait garder sa couverture sur chaque plateforme, alors que de nombreuses équipes poussaient des changements chaque jour.
Ce que j’ai fait
- Migration du code Graphics SRP et de sa suite de tests dans le monorepo du moteur : 500 développeurs, 30 000 commits. Aucune perte de données, aucun arrêt du développement. Les mises à jour sont passées de phases à de l’intégration et du déploiement continus.
- Maintenance des systèmes de tests graphiques (.NET, Python, Bash) sur plus de 20 plateformes.
- Accélération des tests par sélection des tests (déclenchement ciblé) et réutilisation des résultats entre révisions, sans perte de couverture.
- Accompagnement des équipes sur Git, Mercurial, la CI et les pratiques de test.
- Mise en place et support du monitoring et du reporting avec Grafana et BigQuery.
- Mentorat des ingénieurs juniors de l’équipe.
Résultats
- Couverture de tests multipliée par 50 après la migration.
- Les mises à jour graphiques sont passées de livraisons par phases à l’intégration et au déploiement continus.
- Aucune perte de données et aucun arrêt du développement pendant la migration de 30 000 commits utilisés par 500 développeurs.
- La suite de tests graphiques couvre plus de 20 plateformes supportées par Unity, y compris sous accord de confidentialité.
- Des tests plus rapides grâce au déclenchement ciblé et à la réutilisation entre révisions, sans perte de couverture.
Recommandations
I managed Théo for over five of the six years he spent at Unity Technologies, and in that time I watched him grow from a strong individual contributor into one of the most capable and trusted engineers on the team. He has a rare ability to combine strategic thinking with consistent, high-volume delivery — he doesn't just identify what needs to be done, he follows through and gets it done, thoroughly and reliably.
Théo built tools and systems that became essential to teams well beyond his own, and he maintained them with genuine care for the people who depended on them. When he proposed a technical direction that turned out not to be the right one, he was the first to acknowledge it and pivot to a better approach. That kind of intellectual honesty, paired with his willingness to take full ownership of complex problems, made him someone other teams actively sought out for guidance.
He is also a natural knowledge sharer. Whether through announcements, documentation, presentations, or simply being available to help a colleague think through a problem, Théo consistently invested in making the people around him more effective. He mentored junior engineers with patience and trust, and he communicated with a directness that people appreciated.
Any team or organization that gets to work with Théo will find someone who takes ownership, delivers with quality, communicates clearly, and genuinely cares about leaving things in a better state than he found them. I recommend him wholeheartedly.
Jan Borup JakobsenSenior Manager, Automation and Tooling at Unity. I've had the pleasure of working with Theo for several years at Unity and he's one of the most skilled engineers I have ever worked with. He's had large impact on Unity's graphics related CI pipelines and tooling, enabling this important area of the Unity Engine to cover all the relevant dimensions of build configurations at scale. Theo has great work discipline and builds solid solutions, embracing command line tools and automation. Theo is also easy to work with and we've had numerous code review sessions iterating together to find the best solutions. He's also been an early adopter for AI agentic development, improving his productivity even further. I'm thankful for his time at Unity and he's leaving a legacy behind that is robust and easy to maintain. He'll be missed!
Henrik KjellanderStaff Software Engineer, Release & Engineering Services at Unity I had the pleasure of working with Theo, and I can confidently recommend him.
As our Build and Release Engineer, Theo was an essential part of the team's success. He has a deep understanding of CI/CD and build systems, but what really sets him apart is his ability to make complex processes easy to understand. He was always happy to explain, guide, and help us improve not only our build pipelines but also the overall quality of our code and products.
What I appreciated most about Theo was his willingness to help. No matter how busy he was, he always found the time to answer questions, troubleshoot issues, or point us in the right direction. He was incredibly approachable, patient, and always greeted everyone with a smile, making it easy to reach out whenever you needed support.
Theo is a true team player whose positive attitude and dedication make a real difference. Any team would be lucky to have him, both for his technical expertise and for the kind of person he is.
Alex Vázquez MartínezSenior Software Engineer at Unity