Unity3D is a well-known engine for the game development. But, as a game development outsourcing company, we very often hear from our customers: Why I should choose Unity for my game? In this article, we will try to answer this question and prove that Unity engine is the best choice. Let’s consider some powerful sides of theUnity3D briefly.
And all of this is only a tip of the iceberg. There are a lot of other features included to the Unity. Here and in the future articles, we will review some of them.
A lot of people think that web development is a pain point of the Unity platform due to ugly Web Player plugin, but all of this is in the past. After the version 5.4 Unity has stopped support of the Web Player and left only one possibility to create games for the web – WebGL.
Unlike a Web Player, WebGL is not a plugin, but it uses the API standard. This means that the content for WebGL runs without having to install any other plugins before start game in the browser. With the help of the WebGL, we can create 3D/2D games for the web as we do that for mobiles, standalone (PC, OS X) platforms and consoles. So, after the WebGL release, Unity became completely cross platform tool for the game app development without any pain points.
Another good news is a Facebook support. Unity and Facebook were in the close collaboration for a long time. For the game development with Unity, Facebook created their own SDK. This SDK contains a lot of useful tools to add virality into the game.
It was in the past. From the Unity version 5.6 Facebook platform was added as a build target to the Unity engine. Using the Facebook build target, you can build your content either as a WebGL player, which you can then publish to facebook.com or as a custom native Windows Standalone player, which you can post to the Facebook Gameroom client. Facebook SDK also included to the Unity engine as well. With these updates, the development of social features has accelerated several times over.
Unity Asset Store is a service where other Unity developers can share their assets for different departments (programming, art, sounds, etc). A lot of these assets are free, and some of them are paid, but price doesn’t correspond to human/hours that spent to the development such asset from scratch. For example, every game requires tweens to create animations or other game features. So, you can spend a lot of time to create tween tool from scratch or just download free asset DOTween from the Asset Store and focus on the game features instead of tool creation. Apparently, the choice is obvious. Assets from the Asset Store are very useful both for prototyping and for the development of large projects. There are also a lot of open source assets with MIT licenses such as Zenject, UniRx, and many others. These tools are really handy for the development, they are free and supported by other Unity developers. There are a lot of ready backend solutions like PlayFab, Photon, etc. to add multiplayer, database and other server features without creating custom backend.
Unity team has created a set of popular services and included them to the engine, like Ads, IAP, Cloud Build, Analytics and many others. The list of services can be found here.
Those services don’t require a dedicated developer to work with them. Every unity developer can setup any service from the admin panel or even from the Unity Editor. For example, with Cloud Build service, you will get CI for your project even in free Unity version. You will be able to get the latest build of your game from any place. You even don’t need access to the source code just follow the link from the device and enjoy the fresh build of the game. The same situation is true for other services. Of course, you can use and other services for Ads, IAP, etc. instead, everything is flexible. Furthermore, there are a lot of already created plugins for Unity, so you can use a couple of analytics or ads systems in one game to have more control of the process.
Compared to other development environments, Unity supports a huge number of platforms and has a powerful tool for the development of 2D and 3D game applications. It is developing very rapidly, has a great community, huge number of assets and services. Unity changed web development direction to the WebGL.
So, the answer to the question “Why I should choose Unity for my game?” is: Unity accelerates the development in several times that allows you to get cross platform game app.