Skip to main content
Unity Licensing Server

Unity Licensing Server

Professional Engine Unity
Table of Contents
3D and 2D Game Engine for independent and mobile developer

The Project
#

The Unity Engine is one of the three most popular game engines for Indie developers and smaller companies, alongside Godot and Unreal Engine.
Since its release in 2005, Unity has revolutionized small-team game development by empowering independent developers to quickly iterate on games and prototypes in a way that wasn’t possible prior.

I joined Unity in 2020 as a Software Developer working on the Enterprise Licensing team handling maintaining the Licensing Server and implementing features requested by our enterprise customers.

Tools used
#

Game Engine: Unity Engine
Tools Development: C# (.NET 5) and C++ (Unity)

Communication: Slack and Zoom

My part
#

During my time as a Software Developer at Unity, the brunt of my work involved working on the Licensing Server to implement new features and license types, as well as provide support for our Enterprise customers.
This includes initiatives such as:

  • Dockerization of enterprise licensing servers
  • Support for 1-30 day offline-capable floating licenses
  • Supporting licensing through closed-network proxies

I also had the pleasure of working on the Unity Package Manager to enable support for connecting through offline floating licenses when using a closed-network proxy.

Learned experiences
#

Working at Unity taught me about the licensing needs and restrictions of large-scale enterprise clients.
Unity was my first experience in licensing software, and prior to then I had exclusively worked at smaller companies where all of our tooling and needs were internal. At Unity, we provided our tooling (licensing server) to external enterprise clients, which complicates the process somewhat. We now have to take security into considerations in different ways, as well as consider all API changes, as some customers built tools of off libraries we had provided.

Working at Unity also helped me learn and put into practice the concept of “Ownership” from a developer standpoint, clear communication, and organization. These are skills I still use regularly and strive to refine years after having left the company.