Once one of our partners asked us as Unity specialists to write and article for a client, which would include a short comparison of the advantages of using Unity VS Adobe Flash AIR VS Cocos2DX+Java Plug-In VS HAXE VA HTML5. After that they wanted us to make an analysis and prepare recommendations on how to choose the right technology for a project.
Here is the result…
1. Unity VS Adobe Flash AIR
Unity 3D is different from others because of the ability to support mostly all current platforms that are actual nowadays. Plus, the support of pc and xbox makes it an obvious leader in cross-platforming. A year ago, Unity3D was worse than Adobe Flash AIR in such aspect, as, for instance, developing 2D apps, but with the advent of Unity 4.3 version they have become competitive. In a year a new version of Unity 5 with a better 2D support got available, and now the development of 2D applications in Unity has become as easy as using the Adobe Flash AIR. But unlike Adobe Flash AIR, Unity has a powerful tool for working with 3D applications. Large community assets store allows a developer to create a prototype of almost any mobile game in a few days.
2. Unity VS Cocos2DX+Java Plug-In
The main difference is that there is no support for 3D in Cocos2DX . Another important difference between these platforms is that Cocos2DX is developing as an open product where every user can look at the source codes, and also one of the decisive factors of the choice becomes the fact that Cocos2DX is free, that’s why students pick it.
As a result it is possible to compose such an analogy: Unity — Windows, Cocos2DX — Linux: there are people using all of them, but Unity is evolving more rapidly, and the fact that it is being developed by a commercial company provides more reliable guarantees that the support of Unity will not stop one day, however, unfortunately we can`t say the same about Cocos2DX.
3. Unity VS HAXE
HAXE is an essential analogue of Cocos2DX which has the same features.
4. Unity VS HTML5
HTML5 has appeared recently, it has the support of only 2D applications. It is not recommended for usage for Facebook projects. https://www.facebook.com/notes/facebook-engineering/using-html5-today/438532093919
5. Unity for web development
In order to develop Web applications Unity has its own player – WebPlayer, which is supported by many web platforms such as: Facebook, Kongregate, VK, etc. Before running the application in a browser, this player should be downloaded in order to run the game (it should be done only once for all the future games). This action will take about 0.5 minutes, and many Web platforms such as Facebook describe the full guide on how to download and install this plug-in in a browser. It should be noted that with the release of Unity 5 another opportunity of build for web appeared– WebGl. This build is running on native JS and is played in all browsers without any additions.
6. Unity and facebook
For the development of gaming applications on the Unity engine, Facebook released their own (free) plug-in that is being constantly developed and completed. This plug-in contains a lot of useful tools to add virality into the game — from the banal post on a wall to the in-gaming purchases and requests that use Deep Link.
Compared to other development environments, Unity supports a huge number of platforms and has a powerful tool for the development of 2D and 3D applications. It is developing very rapidly, has a great community and a large number of assets. Most of web platforms (like Facebook, Kongregate) have already developed and are developing their own tools for Unity-applications. There are many ready-made solutions for the development of server-side logic (YahooGames, Parse, etc.) which have also developed tools to work with Unity3D engine. Flexible and rapid development of applications is carried out through the using of object-oriented language C #. It is important to notice that hiring a good C # programmer is cheaper than a good programmer C ++ (Cocos2DX uses this language).
According to disadvantages, we can mention the increased weight of the build comparing with other platforms. But nowadays extra 5MB is not a problem, even if we mention downloading of WebPlayer for mobile phone, but WebGl is ready as an alternative one.
So, the following question is: why should we use a platform with limited functionality if we you can use Unity which accelerates the development in several times?