Unity Technologies is the creator of a flexible and high-performance end-to-end development platform used to create rich interactive 2D, 3D, VR and AR experiences. Unity's powerful graphics engine and full-featured editor serve as the foundation to develop beautiful games or apps and easily bring them to multiple platforms: mobile devices, home entertainment systems, personal computers, and embedded systems.
Partnership with STX Next:
since October 2017 (6 months)
Due to their large scale of operations and specific needs, Unity Technologies decided to create in-house tools for software development. Unity Technologies asked STX Next for assistance in maintaining and steadily improving one such tool called Katana. It is a Continuous Integration tool based on BuildBot.
STX NEXT DELIVERED
Katana was created to meet the demand of more than 10,000 builds per day. With its scale, Katana is crucial for Unity’s daily operations, as any downtime would affect hundreds of Unity’s developers. Challenges included resolving memory leaks, dealing with race conditions and adding new features to very sensitive system.
Katana is a fork of BuildBot - a Continuous Integration tool written in Python using the Twisted framework. With one master server, Katana is able to use an unlimited number of slave machines to perform builds.
Although Katana emerged as a fork from the open source Buildbot, it is nothing like its parent anymore. Now there are over 10,000 tasks performed on the Katana production servers daily. Unity engineers use Katana to develop their game engine, so every new release must be accurately written and perfectly tested. Our current technical challenge is expanding Katana without destabilizing it.