From Karl Söderström on 2016/04/15 13:02:29 +0000
This was originally a mail to support. I’m just pasting it here unedited for a public discussion.
We’re starting a project that involves Unity (http://unity3d.com) on iOS and Android, and I wanted to setup a CI solution for this, preferably with Bitrise. It’s however not that simple to do, and I would like to check if you have any good solutions for these problems.
First, a couple of facts about Unity:
-
Unity is only available for OS X and Windows (not linux)
-
From the Unity project you will generate an Xcode project, which is then build with the xcbuild toolchain. Android works the same way
-
Unity is big. With support for iOS and Android the download is about 2.5 GB.
Lots of questions, thoughts, etc on this:
-
It’s possible for a workflow step to install Unity, however downloading and installing Unity with support for iOS and Android takes roughly 30 minutes on bitrise. So while possible, it doesn’t feel quite optimal.
-
Is it possible to provide a custom vagrant box for OS X builds, in the same way as docker images for linux? That would make it easier, as I could preload Unity.
-
Do you run a HTTP proxy in front of the build boxes? It seems like the downloads are quite fast on a second build. When does the cache expire?
-
Are you considering adding Unity as a stack, just like you have Xamarin?
-
I looked a bit at Generic File Storage. Is this one of the use cases for that? Are those files hosted on the same network as the build boxes?
-
Would it be possible to somehow build an Android app on a OS X VM? Since Unity won’t run on linux, the generation of the Android project needs to happen on OS X. How would I then build the Android app? Any way of triggering another bitrise app to do that? I thought about automatically pushing the resulting project to a git repo, which would then trigger a new build, but Unity uses large blob files, which is not a fun thing to put in git. Ideas?
Sorry about this being somewhat unstructured and rambling, but I’m trying to wrap my head around it all, which generates lots of thoughts and questions
Copied from original feature request: http://bitrise.uservoice.com/forums/235233-general/suggestions/13440054-support-for-unity