As you may have noticed from our blog, we’ve been talking a lot about Unity lately. Obviously, this is for a reason. And now I can officially say that Codemagic supports Unity CI/CD. What’s more, it’s publicly available — you can try it out right now!
For those of you who are still reading, let me tell you a story.
How Codemagic started with Unity CI/CD
A bit over three years ago, Codemagic was launched as a CI/CD for Flutter. Since then, it has been rapidly evolving. We’ve revamped the interface, added support for native apps and other frameworks such as React Native and Ionic, introduced our own CLI tools, added integrations with many services, streamlined the publishing process, and much more. Starting as a small but very brave service, Codemagic has become one of the top mobile CI/CDs on the market and is continuing to grow and introduce new features.
How do we choose where to go and which feature to introduce next? It’s very easy: We talk and listen to you.
Not so long ago, one of our longtime customers requested a dedicated host to set up a CI/CD pipeline for a Unity project. Back then, Codemagic didn’t have any specific tools for building Unity projects. We talked to that customer and were surprised to discover that it’s not that simple to find a proper CI/CD for Unity. There are several options that each have their own pros and cons, but none of them are really convenient for mobile Unity apps.
There is, of course, Unity’s own Cloud Build, which is very easy to master, cheap, and quite straightforward to use. But it lacks integrations with the App Store and Google Play and is slow to add the latest Xcode support, which is crucial for building AR and VR apps.
There’s another popular option — Jenkins, which is very versatile and completely free. You can set it up for everything, in the cloud or locally. But you’ll need to maintain the infrastructure on your own, and that requires a lot of time and effort. We get many customers who want to switch from Jenkins to Codemagic just because maintaining the former in a working state is a chore, and they’d rather spend time developing the app than debugging Jenkins yet again.
And… that’s more or less it. Of course, you could set up some other CI/CDs (some people rely on Azure DevOps, for example, while others try GitHub Actions or Docker-based solutions that run locally), but there are no solutions that offer an out-of-the-box experience and are specifically fitted to build and distribute mobile Unity apps.
After a second customer asked us about Unity, we decided that we should build our own Unity CI/CD — and so we started experimenting. At first, we launched it in a closed beta, only inviting a few longtime partners to participate in the test. Together with them, we discovered the tricks of using a Unity license in the cloud and then returning it back, learned about the problems with caching and large repositories, and made Codemagic better suited for Unity developers.
After completing the closed beta, we set up an open beta — you could contact us to get a demo of the product, and if you liked it, we would create a special team with access to Unity. Back then, Unity was not preinstalled on all machines, so it was available only upon request. That gave us some more insight into how people use Unity and what they want from a CI/CD solution for Unity projects, and we implemented some of the features people have been asking for.
And now, we’re moving forward and launching Unity CI/CD publicly.
What Codemagic can now offer to Unity developers
It took a while to create a product that really fits the needs of different mobile Unity developers. We hope that after those iterations, Codemagic is indeed one of the most convenient options on the market.
Here’s what Codemagic can offer Unity developers today:
- Powerful Windows and Mac build machines with Unity SDK preinstalled
- Integrations with GitHub, GitLab, Bitbucket, and pretty much any Git repository for hosting projects
- Integrations with the Apple App Store and Google Play Store to build and publish Unity Android and iOS apps
- Integration with Firebase App Distribution to deliver your Unity app to testers’ or stakeholders’ devices
- Support for automated publishing to the Oculus Store for Unity VR apps
- Convenient infrastructure-as-code approach — all the configuration is done in a single
codemagic.yaml
file that is committed to the Git repository - Triggering builds when committing to a repository or a specific branch using webhooks so that the process of building and publishing can be completely automated
- Running automated tests with detailed test logs
- Integrations with dozens of services to check code quality, run on-device tests, and more — these services can be called either before or after building or publishing
- Sample projects for building, code signing, and publishing Unity apps
Even with all of that, we don’t plan to stop improving our platform, so we are happy to hear what else we can implement to make Codemagic better suited for Unity devs.
Codemagic goes public with Unity CI/CD — what does this mean for you?
Most importantly, this public announcement means that Unity is available on Codemagic’s free plan. Each month, you get 500 free build minutes you can use to build Unity projects on our Mac mini machines. If you need more minutes, the ability to build on Windows, or just faster machines, you can use the pay-as-you-go plan, which lets you pay exactly for what you use. There’s no need to contact our solution engineers — you can start right away.
Secondly, it means that there are no longer special machines with Unity SDK that are not a part of the main pool. All Codemagic build machines now have Unity SDK preinstalled. So, if you have any previous experience with Codemagic, using it to build Unity projects will be a breeze. If you don’t, well, it’s still quite easy. Just follow the steps described in the docs.
Finally, this announcement means that our friendly support can now help you set up pipelines for your Unity projects. If you are ready to start, we will be happy to onboard you or provide support either in the app or on Slack.
And if you need something, don’t hesitate to tell us in the #codemagic-feedback channel on our Slack or on Twitter. We’re always willing to listen to you and really strive to make Codemagic better for the Unity community.
Conclusion
Codemagic allows you to automatically build your Unity games and AR or VR apps in the cloud, test them, and publish them to the stores. You can use Codemagic to build Unity apps for Android, iOS, Windows, and macOS. And now it:
Discussion about this post