
4 advantages of Unity3D, as well as a useful tool to speed up the application development process
We continue a series of interviews with our specialists. This time, questions were answered by Andrey Rylach - Senior Unity3D developer of XIMAD, Inc. Andrew talked about the benefits of Unity and revealed a way to speed up the process of developing mobile applications.

You work as a game developer. Tell me which game engines are the most popular today?
A.R .:It all depends on the purpose for which to choose a game engine. The most popular mobile game development engines today are Unity3D, UE4, Marmalade, and Cocos2D. Each of them has its own advantages. But since we focus mainly on the development of cross-platform games, Unity was in the first place, until recently, because it makes it possible to create games on various platforms with minimal time costs. Now for Unity there is a real competitor in the face of UE4.
How did you get to know Unity?
AR: When I was a programmer, I programmed in C # and came to a company where there was a job as a game developer. So I met with Unity, which was very easy to work with.
What games is Unity most often used to develop?
A.R .:Unity can be used to implement both large AAA projects, and for small 2D games for mobile platforms. 2D support in Unity appeared relatively recently, before that I had to use various plugins (Toolkit 2D, for example). The latest versions of the game engine allow you to comfortably create games for a wide palette of various devices. Thanks to him, we create cross-platform mobile games with good graphics, but at the same time not setting strict requirements for mobile devices.
Can you highlight the competitive advantages of Unity over other engines?
A.R .:The first advantage, in my opinion, is the C # language itself. This language is high-level and allows the programmer to easily enter the development of the game. This is an important point, because unlike other engines that use the C ++ language, C # has many elements and techniques that are already implemented, and the programmer only needs to use them.
The second advantage is cross-platform, i.e. the same code written on the Unity engine, with minimal changes, can be transferred to various platforms (PC, Mac, Android, iOS, Web, game consoles). This is a huge plus, which reduces the time to develop the game several times.
The third advantage is a good Community. This means that the various functions of the engine have a clear description with examples on the developer's website, which can be accessed at any time. If something is still incomprehensible, the support service will definitely answer the question.
And the fourth advantage is the Asset Store, where there are a huge number of different plugins and resources for creating the game. Of course, some of them are free, some paid, but they are all collected in one place with a convenient search and the ability to download, integrate and get working functionality right away.
The advantages of Unity are now known, but are there any disadvantages?
A.R .:Perhaps the only downside is the cost of the Pro version. For an ordinary or beginner freelancer $ 4500 per license (Pro-license Unity + iOS Pro + Android Pro) in order to be able to use all the "goodies" of the Pro version and publish in iOS and Android markets is quite expensive. But recently at GDC in San Francisco there was a release of Unity 5, which is completely free without any deductions from the income received. In the Personal Edition version, only additional services are not available, such as Unity Analytics Pro, Unity Cloud Build Pro, and some others. This version is most suitable for beginner developers and small companies. If you still need to buy the Pro version, Unity offers it for $ 75 per month.
Are there any nuances of working with Unity?
AR: There are nuances when working on any game engine, as in any other business. You can cite typical, in my opinion, mistakes of beginning Unity developers, which I made and who made newcomers familiar to me. The first is the use of a small number of scripts, which makes the code of one script grow to unreadable sizes. The second is the use of a large number of flags instead of using an event system and callbacks. The third is the lack of optimization of textures and the amount of materials on the game scene. In general, Unity has a very good Community, which allows you to quickly get used to the game engine.
You mentioned that Unity helps to reduce the development time of a game or application by several times. Are there any developments that can simplify and speed up the process of creating a game?
AR: Yes, we have the Multiplatform Solutions Framework (MSF) - a tool that simplifies many aspects of creating a game in terms of storing files on the server, retrieving files from the server, storing the player profile, statistics, integration with social networks, etc. The functionality is implemented on the server side, and a plugin has been written for the Unity developer that can be used in any project, which is a significant plus.
Tell us more about the Multiplatform Solutions Framework.
AR: First of all, MSF helps to use the same player profile on different devices. A user can play a cross-platform game on Android, on iOS, on the Web and his progress will be saved everywhere: the profile will be the same for all platforms. This is the first.
The second is storing and receiving files. Often a game requires storing some content on the server: if the game is client-server or the game has a configurable configuration (for example, the ability to change levels after the release of the game), then a configuration update mechanism for the game is needed. And MSF allows you to do this by storing files and providing a simple API to receive these files: files can be uploaded to the server from the editor, and on the client side, the implemented functionality with MSF will allow you to get updated files and change the gameplay.
And the third is the functionality already implemented on the MSF server side for integration with social networks. For example, inviting friends to the game, sending gifts, accruing bonuses to players and push notification.
What are the benefits of using the Multiplatform Solutions Framework for companies, developers and players?
AR: The most important advantage is the reduction in the terms of project implementation. MSF is a single server that everyone understands, which is used in various games, and there is no need to write it for each game. We simply adapt MSF for each project.
In addition, MSF is a convenient tool for setting up game content, and is actively used by us in all games. For me, as a developer, I can highlight the following advantages:
In addition, MSF also has an analytic module that helps us better know our target audience:
MSF also helps us collect user data from social networks.
In turn, players freely enter the game from different devices under the same profile, have the ability to restore the deleted profile with all purchases made, receive notifications that keep them informed of all events and game updates.
If you have questions, ask. We will be happy to answer them!
You work as a game developer. Tell me which game engines are the most popular today?
A.R .:It all depends on the purpose for which to choose a game engine. The most popular mobile game development engines today are Unity3D, UE4, Marmalade, and Cocos2D. Each of them has its own advantages. But since we focus mainly on the development of cross-platform games, Unity was in the first place, until recently, because it makes it possible to create games on various platforms with minimal time costs. Now for Unity there is a real competitor in the face of UE4.
How did you get to know Unity?
AR: When I was a programmer, I programmed in C # and came to a company where there was a job as a game developer. So I met with Unity, which was very easy to work with.
What games is Unity most often used to develop?
A.R .:Unity can be used to implement both large AAA projects, and for small 2D games for mobile platforms. 2D support in Unity appeared relatively recently, before that I had to use various plugins (Toolkit 2D, for example). The latest versions of the game engine allow you to comfortably create games for a wide palette of various devices. Thanks to him, we create cross-platform mobile games with good graphics, but at the same time not setting strict requirements for mobile devices.
Can you highlight the competitive advantages of Unity over other engines?
A.R .:The first advantage, in my opinion, is the C # language itself. This language is high-level and allows the programmer to easily enter the development of the game. This is an important point, because unlike other engines that use the C ++ language, C # has many elements and techniques that are already implemented, and the programmer only needs to use them.
The second advantage is cross-platform, i.e. the same code written on the Unity engine, with minimal changes, can be transferred to various platforms (PC, Mac, Android, iOS, Web, game consoles). This is a huge plus, which reduces the time to develop the game several times.
The third advantage is a good Community. This means that the various functions of the engine have a clear description with examples on the developer's website, which can be accessed at any time. If something is still incomprehensible, the support service will definitely answer the question.
And the fourth advantage is the Asset Store, where there are a huge number of different plugins and resources for creating the game. Of course, some of them are free, some paid, but they are all collected in one place with a convenient search and the ability to download, integrate and get working functionality right away.
The advantages of Unity are now known, but are there any disadvantages?
A.R .:Perhaps the only downside is the cost of the Pro version. For an ordinary or beginner freelancer $ 4500 per license (Pro-license Unity + iOS Pro + Android Pro) in order to be able to use all the "goodies" of the Pro version and publish in iOS and Android markets is quite expensive. But recently at GDC in San Francisco there was a release of Unity 5, which is completely free without any deductions from the income received. In the Personal Edition version, only additional services are not available, such as Unity Analytics Pro, Unity Cloud Build Pro, and some others. This version is most suitable for beginner developers and small companies. If you still need to buy the Pro version, Unity offers it for $ 75 per month.
Are there any nuances of working with Unity?
AR: There are nuances when working on any game engine, as in any other business. You can cite typical, in my opinion, mistakes of beginning Unity developers, which I made and who made newcomers familiar to me. The first is the use of a small number of scripts, which makes the code of one script grow to unreadable sizes. The second is the use of a large number of flags instead of using an event system and callbacks. The third is the lack of optimization of textures and the amount of materials on the game scene. In general, Unity has a very good Community, which allows you to quickly get used to the game engine.
You mentioned that Unity helps to reduce the development time of a game or application by several times. Are there any developments that can simplify and speed up the process of creating a game?
AR: Yes, we have the Multiplatform Solutions Framework (MSF) - a tool that simplifies many aspects of creating a game in terms of storing files on the server, retrieving files from the server, storing the player profile, statistics, integration with social networks, etc. The functionality is implemented on the server side, and a plugin has been written for the Unity developer that can be used in any project, which is a significant plus.
Tell us more about the Multiplatform Solutions Framework.
AR: First of all, MSF helps to use the same player profile on different devices. A user can play a cross-platform game on Android, on iOS, on the Web and his progress will be saved everywhere: the profile will be the same for all platforms. This is the first.
The second is storing and receiving files. Often a game requires storing some content on the server: if the game is client-server or the game has a configurable configuration (for example, the ability to change levels after the release of the game), then a configuration update mechanism for the game is needed. And MSF allows you to do this by storing files and providing a simple API to receive these files: files can be uploaded to the server from the editor, and on the client side, the implemented functionality with MSF will allow you to get updated files and change the gameplay.
And the third is the functionality already implemented on the MSF server side for integration with social networks. For example, inviting friends to the game, sending gifts, accruing bonuses to players and push notification.
What are the benefits of using the Multiplatform Solutions Framework for companies, developers and players?
AR: The most important advantage is the reduction in the terms of project implementation. MSF is a single server that everyone understands, which is used in various games, and there is no need to write it for each game. We simply adapt MSF for each project.
In addition, MSF is a convenient tool for setting up game content, and is actively used by us in all games. For me, as a developer, I can highlight the following advantages:
- time saving due to the use of ready-made modules
- the ability to quickly and easily update game content that is configured for each target user group.
In addition, MSF also has an analytic module that helps us better know our target audience:
- what purchases do players make
- how long have they been playing
- which levels are the most difficult for users
- when players leave the game, etc.
MSF also helps us collect user data from social networks.
In turn, players freely enter the game from different devices under the same profile, have the ability to restore the deleted profile with all purchases made, receive notifications that keep them informed of all events and game updates.
If you have questions, ask. We will be happy to answer them!