"Microsoft approached us," explained Garcia.
Eighteen months before the public launch of Windows Phone 8, Microsoft reached out to Unity to find out more about the gaming engine. This would be around the time of the Build 2011 Conference. Part of what attracted Microsoft to Unity was the culture around the engine, and the community built up around the technology. With a new platform and a long term vision of where they wanted Windows Phone to go, the ability for Unity to effectively lower barriers for developers matched up nicely with this.
Microsoft did not 'feature freeze' Windows Phone 8 until early in 2012, so Garcia and his team were initially working with the substantial moving target of an operating system that was still being built - and while that increased the workload, it meant that "we could be involved at the start", pointed out Garcia, "and it meant we could support the internal notion of many inside Microsoft that wanted Unity."
It also meant that Unity could ensure that their technology was as easy to use on Windows Phone as it was on other mobile devices. Microsoft's app security model can be seen as restrictive, with a reduced set of APIs and classes. A number of these are added back in to the Unity developer framework (such as container classes) so developers can carry on using them, but the heavy reworking is done by the middleware, following the same principle as passing the 3D graphic rendering over to Unity.
With the launch of Windows Phone 8, Unity was available to developers. Temple Run was one of the first big games to use the Unity technology, and its use by developers has increased since then. Steve's latest obsession ('World Cricket Championship') is powered by Unity.
This has been helped by Unity extending its Unity Free model to mobile developers, so anyone can start using the technology and publish their apps for free (there are some restrictions on turnover and team sizes which trigger a 'Pro' subscription for $1500, but if you trigger those then you should be able to afford it).
As it stands, Unity has ensured that the Unity environment for Windows Phone offers the same facilities, tools, and code, as iOS and Android. The hard work to ensure the 'author once, deploy anywhere' concept applies equally well to the mobile platforms (BlackBerry 10 is also supported). Of course, there are always wrinkles, for example deploying to the Windows Phone Store is not the same as to the Apple App Store or Google Play, but the hard work of porting between platforms is significantly reduced, with countless examples of apps coming to another platform with a day or two of work.
Looking at the installed base, Windows Phone is still a small player, but Garcia can see there is enough interest from developers in working on the platform. If they've spent weeks or months on app development, adding a Windows Phone mobile app to their iOS and Android plans is simply adding a "third shot" at having a successful title, and allows them to see quickly if their app idea will 'stick' on another platform.
Unity continues to be developed, and now that Windows Phone 8 (and Windows 8) are in the mix, any new developments and engines will be brought to Windows Phone alongside other platforms as part of the regular release schedule.
And the next release, Unity 4.3, has a number of exciting features that will expand the reach and capabilities of the engine. The one that I want to draw attention to is the addition of 2D features, so that 'flat' games can be built with ease - a new 2D sprite editor, 2D physics, improved animation choices and 2D collision detection will all be included.
Unity has rightly been perceived as a 3D engine up until now, but not every game needs 3D. 2D is the next frontier for Unity, and if the ease of use and community respect can be maintained, Unity is going to be in a very strong position in regards to multi-platform development.
And of course that's why Microsoft wanted Unity for Windows Phone, and why I'm confident that this will be one of the technologies that helps Windows Phone become a default choice for developers shipping games around the world.