Anyone who works in the sphere of creating things understands the value of having the right tools on hand. Just as a painter requires brushes of the right size and style to create their art, a development company needs the right software to build programs of their own. Although some niche varieties of software development have a limited set of programs to choose from, the gaming industry offers dozens of viable engines and solutions, among them Cocos2D and Unity. There is a lot to analyze in the Unity vs Cocos2D rivalry, so let’s jump right in.
About the Unity and Cocos2D Platforms
To begin with, we should mention that both are game engines, i.e. special software that makes game design and development easy for specialists in this field. Both can be downloaded and installed on compatible hardware, which usually consists of powerful computers with high processing power.
Unity
This engine made its debut in 2005 and underwent several updates and new iteration before it truly took off. Around 2010, version 3 of the platform was launched, adding support for many new platforms and features. In the following decade, Unity became the most popular choice of independent studios and small-time game developers, though it has its share of big releases and supporters among industry leaders.
Today, everyone in the game development industry knows the name of this engine, and it has powered millions of projects all over the world. To put this into perspective: in just one quarter of 2016, titles built with this software were downloaded over 5 billion times. It should also be mentioned that this software can also be used to develop non-gaming applications, including learning programs, virtual reality simulations, productivity apps, and much more.
Cocos2D
The first iteration of the Cocos2D engine was built in 2008 by an Argentinian developer named Ricardo Quesada, who took inspiration for the name from the town where he worked – Los Cocos. Though it was only meant for creating Python games at the beginning, many who came into contact with the software quickly saw its potential for other platforms. Thus, a version for Objective-C was soon released, followed by Javascript, Lua, Swift, and finally C++.
Games created with Cocos2d-x
It is important to mention that though Cocos2D is currently owned by a Chinese company called Chukong Technologies, this software is open-source. This means that users can distribute and modify the program as they see fit. This great freedom allows the whole community to contribute to further updates of the platform, as well as other goodies. For example, fans of the small but famous Cocos game engine have successfully created ports for Ruby, Java, and C#. According to the official website, over 1.4 million developers use this platform, easily putting it on the same level as other prominent engines.
A Comparison of Cocos2D and Unity
Although the process of building a 2D title is generally the same no matter which 2D game editor you use, the differences arise when you look at the minutiae of the experience.
Features
Unity comes packed with an armada of features, and not all of them even pertain to 2D design. There are plenty of features tailored specifically to 3D animation, mechanics, cinematics, etc. As for 2D features, we can mention convenient PSD import, a powerful rendering pipeline with a multitude of lighting options, advanced shader customization, and an irreplaceable organizing feature called Tilemap. It’s almost the whole shebang of design tools invented over the years.
As for Cocos2D, available features are not as plentiful, but the ones that are available get the job done. Notable features in this category include a robust graphic renderer boosted by OpenGL, auto-batching and auto-culling, as well as quick scene, data, and a unique Cocos2D animation editor. Some of these features are built into the framework, while others are included in the main program (Studio).
Complexity
Learning how to work with a new program is often a struggle, and we see the same situation here. There will be a tough learning curve for both platforms, though C2D might be a bit simpler simply because of the smaller number of features and menus.
As for the complexity of designing with the software, both options are quite effective and straightforward if you know how to use them. Thus, the key to mastering them lies through the various learning resources available online. Unity provides a vast treasure trove of documentation and guides, as well as training workshops, video tutorials, and even courses. If you face an issue, you can get an answer to most questions on the forum or from the customer service team.
C2D also offers different documentation for its products to users, but the content is rather barebones in comparison with Unity. Technically, user forums are available for discussing various topics and issues, but the activity there is minimal, so it might not be a big help. Finally, you can contact experts and company representatives for support, but this is done either through an unwieldy contact form or a VIP line limited to certain customers.
Cross-platform
Both of the platforms are suitable for cross-platform development, so you can easily use both for projects on PC, Mobile, and Web. With C2D, the base platforms are Windows, OS X, and Linux, but extensions like -2DX, -ObjC, -HTML5, and -XNA expand this list. In contrast, Unity supports these traditional platforms and even more, which include consoles, virtual/augmented/mixed reality programs, and SmartTVs.
Longevity and support
If we had to make a prediction, we would say that both platforms will still be actively used in the next decade, given their massive bases of support and update practices. Speaking of these practices, Unity tends to roll out updates and new stable versions every few months, while C2D updates are not as regular (once or several times a year).
On the other hand, the updates to C2D are community-driven: people in the community make their own changes to the open-source program, and the finest innovations get bundled into official releases. This thriving ecosystem and level of community support is one of the main reasons that people choose the platform. In contrast, Unity Technologies keep a firm grasp over their engine, keeping it closed-source. They still implement changes based on user feedback, but the growth is guided by the company’s vision.
Additional information
Cocos2D | Unity | |
Price | Free | Free* |
Supported Platforms | Windows, OS X, Linux, Android, iOS, Windows Phone, Web browsers | iOS, Android, Windows, Mac, Linux, browsers, Xbox One, Hololens + 17 more. |
Coding language | C++ | C# |
3D Support | Partial** | Full Support |
VR Support | None | Full Support |
Built-in IDE (integrated development environment) | No | No (Bundled with Visual Studio) |
* Though Unity offers a free plan, it is only available to enterprises and individuals with yearly revenue under $100K. The free version has limited features and adds a watermark to projects. Paid versions cost upwards of $40/month. No Cocos2D license is required.
**Limited 3D elements are supported, including sprite objects, animation, and perspective camera objects.
Summing Up This Contest of 2D Game Development Software
Now that we have looked at everything that unites the two platforms and sets them apart, you might be wondering which is the winner. Well, both are winners in their own right, as each one can be superior in different circumstances.
For example, Cocos2D game development is most suited for small projects with very limited time and relatively simple requirements. Essentially – for simple game types with a handful of mechanics and animations. This does not mean that larger projects are impossible, as we have demonstrated in our examples.
In contrast, Unity is the go-to choice when you need to do more with your project, including various 3D elements, VR/AR/MR compatibility,
Make your choice based on:
- Budget
- Target platform
- Coding knowledge
- Desired features
When you have many people working on a project, licensing costs add up quickly. Thus, you should determine whether you are ready to spend hundreds (or thousands of dollars) on paid features and/or paid versions of the software.
Before lifting your project off the ground, make sure that the software you have chosen supports the platform that the program will run on. For example, C2D is great for mobile and web apps, but practically unusable when it comes to niche platforms like consoles and VR headsets.
If you already know C++, you might have an easier time working with Cocos than you would with Unity. Similarly, if you know C# better than other languages, the situation might be reversed. While ported versions of C2D are available with broader language support, they are known for certain stability issues.
This one is relatively straightforward: to make sure that you will be able to implement all desired features into your project, check to see whether similar or equivalent features have been added successfully on this platform in the past.
If you are looking for a program that supports a vast scope of features, you might also want to consider Unreal Engine, which is another behemoth in the world of app-building.
A word of warning
Regardless of which of the two options you choose for your game, you should be ready to invest loads and loads of time into it. Development usually takes months and sometimes years, depending on the scope of your game. If you have not released anything of this kind before, the learning process will be lengthy and probably nerve-wracking.
Nevertheless, remember that you don’t need to be alone in your endeavors, as there are companies ready to shoulder the burden of development for you.
Unity and Cocos2D Game Development Services
Partnering with an external studio grants significant advantages, including reduction of cost and a faster timeframe. These are certainly things that you can expect if you choose to work with Game-Ace. Our studio provides a variety of development services, and our long history working in this industry has allowed us to master a range of different genres and platforms.
Our specialists have tremendous experience with Cocos2D and Unity. For example, our Cocos experience is showcased in our “Slots” projects – Rome Slots & Maya Slots, while our recent Unity projects include Knight – Stack Jump and Cricket Manager. You can take a more in-depth look at our work on our portfolio page.
If you come to us with your project, you can count on our full discretion and honesty. We will be happy to examine and discuss the project, as well as the terms of any potential cooperation. Just contact us today, and we can start building something beautiful.