The basics of setting up builds via scripts using -executeMethod
Common gotchas such as the Unity log not being output in the build server’s log and solutions
Configuration of tests to work within Unity
I mean, we have our own custom Unity runner which strips certain repeated and redundant lines from the log output. We also have builds for different platforms, so we symbolic link the Library file for the necessary build, which cuts down on reimporting times. We also run a bunch of code duplication and we’ve got Sentry integrated but that’s really just extra fat that we choose to do. I think the biggest takeaway is that it is possible with Unity and more people need to move over to this style of development rather than taking away a dev’s machine to build on
We’ve got an Intel NUC (i5 processor, 8GB RAM, 1TB SSHD & Windows Server 2016) with TeamCity. We used Unity Cloud Build for a while but we found it wasn’t good enough for what we wanted re flexibility so we took it in-house. We’ve only got one build agent (that on the server) but builds take between 20m and 30m so its not too much of an issue.
@Stormy102 Interesting idea to symlink in the Library depending on target platform/SKU. I’d be worried about eventual Library corruption, but maybe you’ve been able to avoid that? I would imagine you do this instead of running a cache server, then?
@liortal How did the talk go? Any learnings or such?
Yeah it arose out of the issue of needing to clean the build area between builds without having a cache server - we only use one machine currently for builds. The only Library corruption occurred when we upgraded from 2017.3 to 2019.1 - I’d imagine doing incremental upgrades would have reduced the likelihood of that happening…