My company wants to do CI for our Unity titles. Specifically, we are virtualizing all of our build environments so we can instantiate VMs that contain very specific versions of build tools dynamically. Because these servers are virtualized, we may find ourselves running a couple copies of Unity simultaneously.
My question is:
What are the restrictions on Unity licenses that pertain to this system? Can we use a single build-server license for these VMs?
We went back-and-forth with Unity support for a few months trying to resolve this issue. They were very friendly and helpful.
It turns out that the command line features to provision and de-provision licenses were unstable as they were originally intended for another use. Working with Unity support, we identified a long series of issues, and got fixes for them. Once the command-line to provision licenses started working our need for “special” licenses went away. Unity has a special “build license” that permits a larger number of currently installed nodes to use the same license. We are using this license type.
I would have to check with my team but I think we may still be having issues with the initial installation of the Unity editor. We have been building our build agent images with Packer so we can version control the configurations. That includes the installation of Unity. At one time, and I think this is still the case, someone had to log into the base image to finalize the installation of Unity. The reason for this had to do with installing the correct client certificates I assume for authenticating with the Unity servers. If you’re curious, I’ll find out whether we are still having to do this manually or if we got it fixed so we can build our agents automatically.