The Game Engine for the Rest of Us
December 12, 2018
The Game Engine for the Rest of Us
Score 10 out of 10
Overall Satisfaction with Unity
I work in a public health institution in Brazil and since 2012 we have started to develop games mainly for health communication. At first, 2D game engines were enough for our projects, but soon we were in need of a more powerful solution, able to deal with 3D games. We tried other engines, but Unity's power, flexibility and, particularly, its smooth learning curve proved to be decisive in our choice. Since our games are given free of charge to the population, Unity's price model, based on revenue, allows us to use the engine freely and maximize our resources in benefit of the population. Right now there are at least four other teams in my institution using Unity for their projects.
- Unity is a multiplatform game engine. It has more than 20 options for exporting your game, ranging from desktop, mobile, console, web and, lately, VR and AR. Unity was one of the first game engines able to export games playable on internet browsers and it helped to cement the World Wide Web as a place fit for gaming.
- Unity has a very smooth learning curve for beginners. It is easy to start and soon you are seeing some tangible results of your efforts. The game engine has all sorts of helpers and shortcuts to facilitate some frequent tasks in game development.
- Another of Unity's advantage is the access to Assets Store from within the game engine, allowing the user to import instantly objects, scripts and textures from the store into their projects. Such easy access to these elements from inside a project greatly enhances speed production and is particularly helpful to beginners.
- Since game development is so complex in itself, Unity also has a lot of complexity in its interface. Despite the efforts of its creators, the many options in Unity's interface can be overwhelming to the beginner, particularly, taking into account that each object in the scene can have its specific piece of code attached. It takes time and practice to learn to navigate the interface.
- Unity operates with C#, which is easier to grasp than C++. However, traditionally, C++ has been the standard in the game industry for many years and some experienced professionals coming to Unity can feel a bit annoyed with this change. On the opposite side, if you start in Unity and for some reason, you decide to change to another game engine (like Unreal, for example), you will have to be prepared to learn C++.
- The Asset Store, at the same time it is an advantage, is accused by many critics of encouraging "asset flippers", which are games made completely by getting ready-made assets at the store, where the "creator" does not actually create anything. It is not a disadvantage of Unity in itself, but it is advisable to the beginner to be careful to not use too many third-party game assets.
- Unity allowed us to make engaging 3D games deliverable through our website. We can produce high-quality games with comparatively low effort.
- Since it has a smooth learning curve, we started to develop in Unity even without specialized courses.
- Unity has a huge community. This makes very easy to ask for help when some doubt arises and also to recruit people for our projects. There is a very active ecosystem around the game engine.
Unreal and CryEngine are both the direct competitors of Unity. Both were designed for high-end games (AAA games), while Unity was designed with the indie game designer in mind. This way, historically, Unreal and Cryengine used to be very expensive, hard to set up and understand without training. In recent years, this changed and both are now similar to Unity, being cheap or free, easy to install and to learn. However, it is possible to say that Unity is still the major force due to its community. It is the game engine that most of the people know and love, making it easier to conclude a project since there are more assets available for it, more people to ask when you are in doubt and more professionals to recruit when you need more workforce.
Unity can cover most of the needs of game development, both for 2D and 3D. It is particularly well suited to games designed to be played presented and played on web pages, but it can create high-end content as well. Perhaps it would be less suited in high-end games which depend to much of sophisticated lighting effects since Cryengine and Unreal are more evolved in this area. On the other extreme, in the case of very simple 2D games for web pages, like newsgames, simpler game engines probably would be more advisable for a faster production, like Construct (2 or 3) or even Twine (in case of text adventures)