5 ms·
I support CI for my team's Unity builds. I don't know much about the engine itself, but I can tell you that the tooling for automating Unity builds really sucks
by hosh 6y ago
I support CI for my team's Unity builds. I don't know much about the engine itself, but I can tell you that the tooling for automating Unity builds really sucks.
I had a long list of reasons why, but my impulse blocker cut me out. Oh well. Here's a much smaller list:
- You have to jump through many hoops to run Unity in headless mode
- I cannot separate out build processes into discrete stages
- Linux version is behind. Windows is slow. Macs require you to use specialized cloud (such as MacStadium)
- License server is unreliable. It always goes down with a 500 error, every day for most of the evening (California time). That means I cannot easily elastically scale build servers.
- WebGL target means running emscripten, which means running a compiler in Python. It is slow. We sped it up by using a really expensive AWS instance size to run it.
- We built our own pipeline because Unity Cloud is even slower
I think it is like this because:
- We're not Unity's core market. We're a team that can afford expertise on CI
- Unity doesn't dogfood their own tools and build a game with it. They don't fix the bugs that come from having to build a game.
- Unity Cloud probably cheats and uses a special version of the binary that does not talk with their license server. So there is no pressure to fix their license servers, and make it reliable enough to run elastic loads. (They probably don't run it elastically because they use Macs for their build servers)
I look enviously on the folks who work with Unreal Engine. I also hear that Defold is now open source. Maybe people can use that instead.
- dak3 6y agoI too support CI for some teams using Unity and the licensing server is a horror show.
- jandrese 6y ago> - License server is unreliable. It always goes down with a 500 error, every day for most of the evening (California time). That means I cannot easily elastically scale build servers. This should be flooding their support center with open tickets. Completely unacceptable. The worst part is that it shouldn't be hard to fix. The longer it goes on the more the Unity folks look like clowns.
- martinpw 6y agoWe certainly reported it several times a couple of years ago before we switched to Unreal. Amazing and disappointing that it is still unresolved.
- Jasper_ 6y agoRequiring Mac OS to build binaries is unfortunately an Apple restriction. Apple has a large number of both technical and legal barriers allowing cross compiling.
- cpeterso 6y agoMozilla cross-compiles Firefox's macOS (and Windows) builds on Linux. Build times are much faster on Linux and build scripts for macOS, Windows, and Linux can share more common code. https://bugzilla.mozilla.org/show_bug.cgi?id=921040 https://bugzilla.mozilla.org/show_bug.cgi?id=921040
- Jasper_ 6y agoThis doesn't account for all the Mac-specific graphics tooling like the Metal compiler, metal-al, metallib and such.
- kbenson 6y agoFirefox for Mac OS uses GPU acceleration though, so are they doing something fundamentally different than a game would? They need to expose WebGL, and they hardware accelerate page rendering too if I'm not mistaken.
- jayd16 6y agoCloud Mac builds do suck. With how required a cache server is it's honestly easier to just buy a macpro and make some VMs. You can try juggling offline license files but it's super annoying as well. >- I cannot separate out build processes into discrete stages Not sure what this means. You can try exposing different methods if you need external steps.
- justinram11 6y agoHas anyone been able to get decent performance for Unity Builds out of VMWare Fusion VMs on MacOS? We are using 2018 Mac Minis which (AFAIK) cannot install VMWare ESXi without a bunch of trouble, but Unity builds within VMWare Fusion take 2-3x as long as running on bare metal (I assume because there is no 3d acceleration support for MacOS?).
- Vulphere 6y ago> Defold It is not truly open source since there are restrictions for commercial purposes. https://www.gamingonlinux.com/2020/05/cross-platform-game-engine-defold-is-now-open https://www.gamingonlinux.com/2020/05/cross-platform-game-en...