Now everything is in place, let’s have a look to the cost.
Amazon Web Services costs are based on consumption. It could be a cost per GB, per request, per hours, …
This cost system is interesting, especially for small companies or for short project that requires a lot of resources: you can deploy a huge infrastructure, test it then release it for a very small amount of bucks.
To give you an idea of a monthly cost of a such CI/CD process, we summarized the several services we activated and look at the number of time we had to build a new version of the game.
Note: I did not put the GIT costs there as I consider this is a mandatory tool for your game. Even without CI/CD process, you’ll have to pay for it (or use a free one).
It is also possible to use Unity Collaborate (but I will leave this topic to someone else)
Service | Metric | Cost calculation | Monthly cost | Notes |
---|---|---|---|---|
Untiy Cloud Build | package | $10 | $10.00 | Unity Teams licence (up to 4 users, includes 1 concurrent UCB licence) |
AWS – EC2 | per hour | $0.0118 * 97.252h | $1.15 | t3.micro Instance |
AWS – EC2 | per GB | $0.116 * 20GB | $2.40 | 20GB |
AWS – S3 | per GB | $0.024 * 1.075GB | $0.03 | |
AWS – S3 | per request | $0.0053 * 1000 requests | $0.02 | |
AWS – SES | per request | 312 requests | – | first 1,000,000 free |
AWS – Lambda (API Gateway) | per request | – | first 300,000,000 free | |
AWS – Lambda | per request | 1,098 requests | – | first 1,000,000 free |
AWS – Lambda | per GB | 441 seconds | – | first 400GB free |
Total | $13.60 |
To summarize the summary:
the total cost is less than $15 per month for more than 40 builds a month (for 3 different platforms).
Sounds like worth the effort, especially if you run a project with a team of 4 people or more.
Conclusion
We’ve run through all the step required to make your fully automated CI/CD process up and running. Just merge any change in your branches and many cloud layer will work for you and your players.
It was for us many hours of work, investigation and test before we reached this goal. But we now save A LOT of time building, uploading and releasing our release. It also ensured that all our builds are OK and tested through faster loop.
I hope this tutorial was as helpful as possible.