At the start of the internship The Tall Ones hadn’t started implementing any platform native functionalities functionalities yet. But to get an idea on how they usually go at implementing platform specific functionalities I did a short interview with my company supervisor, Martijn van Buul.
The current situation at The Tall Ones when implementing platform specific functionalities was done using multiple versions of a project using Git branches. This approach caused a lot of time loss, when having to switch braches to keep all versions up to date.
From this interview I also gathered the following information as extra requirements for internship project:
- The final product should prevent developers needing to have a different project for every platform, keeping time losses to a minimum
- The final product has to be easy to use
- The final product has to be testable
- The final product has to be robust
This interview, although short, gave me lots of insight into how (crossplatform)games were developed at The Tall Ones. Using the information gathered from the interview as a starting point, I could start researching and desinging the final product.
After finishing the interview, I wanted to know how much time it would take to when having to create a build for all supported platforms.
For this I did a benchmark, during this benchmark all supported platform were build and timed on how long it took to switch to the target platform and create build. Below is a sped up video of the entire build process.
After performing the benchmark, the total time building was about 1,5 hours. But in reality it took nearly 2 hours to complete builds for all target platform.
Speeding up the build process itself wouldn’t be really possible in Unity but there was a way to skip the step of having to switch to the target platform using Editor build scripts