Among the game engines, Unity is far from last place. It is used by both large developers and (much more often) small independent studios.
Unity is more than a game development company, it is an environment for developing computer games, which combines various software tools used to create software – a text editor, compiler, debugger, and so on. At the same time, due to ease of use, Unity makes creating games as simple and comfortable as possible, and the multiplatform engine allows game developers to cover as many gaming platforms and operating systems as possible.
What is Unity Good?
First of all, the Unity3D engine makes it possible to develop games without requiring any special knowledge for this. It uses a component-oriented approach, in which the developer creates objects (for example, the main character) and adds various components to them (for example, the visual display of the character and ways to control it).
This is a handy free tool for novice developers, it allows you to create projects alone. Genshin Impact, Hearthstone, Outlast, Cuphead, Pokemon GO and other popular games were created on this engine.
Some game engines are designed for specific genres or individual games. For example, the Polish studio CD Projekt RED created REDengine, which developed the Witcher and Cyberpunk 2077 series. Unity can be considered a universal multi-platform engine that creates games of various genres (platformers, shooters, RPGs, and so on).
Thanks to a convenient Drag & Drop interface and a functional graphics editor, the engine allows you to draw maps and place objects in real time and immediately test the result.
The second advantage of the engine is the presence of a huge library of assets and plugins, with which you can significantly speed up the game development process. They can be imported and exported, whole blanks can be added to the game – levels, enemies, AI behavior patterns, and so on. No programming fuss.
Many assets are available for free, others are offered for a small amount, and if you wish, you can create your own content, publish it in the Unity Asset Store and make a profit from it.
The third strength of Unity 3D is its support for a huge number of platforms, technologies, and APIs. Games created on the engine can be easily ported between Windows, Linux, OS X, Android, iOS, on consoles of the PlayStation, Xbox, Nintendo families, on VR and AR devices.
Unity supports DirectX and OpenGL, works with all modern rendering effects, including the latest real-time ray tracing technology.
The stereotypical opinion that the engine is suitable only for small indie games and is unable to produce a beautiful picture is no longer relevant: just look at the ADAM, The Blacksmith and Book of the Dead tech demos from the creators of the Unity environment to see its outstanding abilities.
Finally, Unity is available for free, which opens the door for independent developers to the gaming industry. Of course, there are limitations: the free version of the engine shows the Unity logo before launching the game, and the project created with it should not bring the developer more than $100 thousand per year.
However, the subscription fees won’t empty the wallets of even a novice team: the Pro version costs $150 per month, which is not that much compared to other engines, and the basic version contains exactly the same functionality as the professional one.
What is Unity Bad?
For all its merits, the engine also has its drawbacks. So, if the team wants to develop something more complicated than a simple clicker or platformer, then they will have to look for a good C # programmer who will write scripts and components, implement them into the game and make them work.
From this follows another problem of the Unity engine – slowness. Creating large, complex scenes with many components can negatively affect game performance, causing developers to spend additional time and resources optimizing, and possibly removing some elements from the project.
In addition, applications created on Unity are quite “heavyweight”: even the simplest pixel game can take up several hundred megabytes on a PC. Yes, for a computer hard drive this is a small amount, but if the project is being developed for mobile platforms, you should think about optimizing its size.
Who should use Unity first?
Based on the above, the engine is ideal for beginner developers who do not have the capabilities of simpler tools like RPG Maker, and at the same time do not want to spend money on more expensive and advanced engines.
Unity allows you to quickly create objects, arrange and link them, create a simple scene, use your own content and the contents of the asset store. Since the engine has a huge audience of users, it will not be difficult to find a solution to any problem – the community will be happy to help a novice game developer, official and user blogs and training courses (including in Russian) will provide all the necessary knowledge.
Large studios will also find their advantages in the engine. Its engine capabilities allow you to create large-scale games close to the AAA class. You don’t need to look far for examples: Pillars of Eternity, Firewatch, Inside, Superhot – all these high-profile projects are created on Unity. Whether it’s an expensive story-driven project or a Unity3D multiplayer browser game, developers will have a powerful and flexible toolkit to create the highest quality product.
The interface has several sections that are responsible for different development elements – assets (element templates), game objects, setting their properties and parameters:
- Scene – the scene window in which the game space is built (elements of the game world, textures, character figures, etc.).
- Games is a game window in which you can see through the eyes of the user how the elements will move and the game mechanics will work.
- Hierarchy – the hierarchy window, it lists all the elements (GameObject) that are placed in the Scene window.
- Project is a folder system that stores assets by category (textures, fonts, sounds, etc.).
- Console – programmers use it for debugging and troubleshooting.
- Inspector – a window for changing game elements, their size, color, position in space and other characteristics.