The pros and cons of the Unity game engine
Ever since smartphones came along and spawned the golden age of mobile gaming, one piece of technology has maintained its place as an evergreen tool in the inventory of any major game dev: the Unity engine.
Given that over 50% of all mobile games are made with the engine, including billion-dollar revenue generators such as Pokemon Go and Genshin Impact, Unity is a market behemoth by any measure — and one that has already paved inroads to other industries, including film, automotive, AI development, and non-gaming virtual reality apps such as edtech darling Titans of Space.
Why is Unity so popular?
Unity's popularity stems primarily from how it democratized game development. Until the late '00s, making a game was an expensive and protracted process, often requiring that engines be built from scratch on a per-game basis. Software distribution was also a hindrance, with game developers depending primarily on the PC platform plus the big three console makers: Nintendo, Sony, and Microsoft.
Unity upset the apple cart by providing a simple, efficient, inexpensive, and versatile "white canvas" game engine for devs to work with. Simultaneously, the distribution issue was solved by smartphones: Gadgets with enough processing power to run complex games without requiring customers to commit to a dedicated gaming console, thus exponentially growing the number of potential gamers — afterall, any smartphone owner is a gamer-in-waiting.
Of course, historical context alone isn't enough to make a champion out of any industry. Unity's popularity is largely rooted in the fact that it boasts more pros than cons.
The cons exist, however, and compromise Unity's usefulness as a surefire tool for building any mobile game.
The pros and cons of Unity for game development
First, the goods:
Unity is all but tailor-made for mobile
Today's smartphones and tablets are more powerful than PCs from only a couple of decades ago. Mobile games that would have struggled to run on sixth-generation video game consoles like the PlayStation 2 do so smoothly on current iPhones or Samsung Galaxy phones.
With Unity, visually compelling games can be easily integrated with ready-made features like analytics, advertising, and in-game payments that simplify monetization strategies. Plus, the engine is well equipped to take advantage of technologies already present on every smartphone — think GPS, accelerometers, gyroscopes — to unlock myriad possibilities for savvy game devs. Blockbuster Pokemon Go, for example, would have been the stuff of science fiction twenty years ago, and now it boasts over one billion lifetime downloads.
Unity's entry threshold is negligible
In a world where software licenses for enterprises are notoriously expensive, Unity is surprisingly affordable: The engine's most basic plan is free of charge for any individuals, hobbyists, or small teams operating with up to a $100K funding or revenue in the previous 12 months. This low investment barrier encourages indie devs to pick up the game engine and use it with their titles, resulting in faster prototypes and time-to-market, plus a larger volume of releases — another key factor for Unity’s dominance in game development.
Unity's relaxed entry threshold also goes beyond financials. Learning how to develop for the engine is decidedly easier than with most mainstream Unity competitors, increasing the number of Unity developers on the market, and thus, of Unity-made games.
Unity is easy to deploy cross-platform
Apart from exclusives, the game industry's standard is to release titles on multiple platforms to maximize exposure to players.
Unity is great at porting code for different systems. While tweaks always have to be made, a Unity game can reliably be adapted for multiple platforms — including from consoles to mobile and vice-versa — without much hassle, even if it wasn't planned as a multi-platform title during development.
And now for the not-so-great aspects of this must-have game engine:
Unity is performance-intensive
While our personal gadgets are more powerful than ever before, power one year rarely beats obsolescence the next. While games with simple, Flash-like graphics or even stylized 2D pixel art may get away with long lifespans on older smartphones, that doesn't hold for cutting-edge titles.
This means that beautifully crafted, high horsepower projects might limit their player pool at launch since only recent devices will be able to run it smoothly. This is particularly true for games that demand mechanical precision from their players — and therefore depend on stable frame rates to be played.
Unity demands optimization
Unity is a bulky system. Simple games get a pass, but complex Unity games require a lot of space — a problem known all too well by owners of old or non-premium Apple devices — and many platforms themselves have restrictions on the size of downloadable content. Workarounds exist, but they require additional tools that add to development costs and delivery timelines.
Unity's Asset Store has its limitations
Unity has a huge catalog of user-friendly assets, but quantity doesn't ensure quality. Remarkably, some important assets like game scripts may face problems whenever Unity updates its engine.
Furthermore, Unity lacks a bit in supply when it comes to high-polygon 3D assets. This realm is better served by the other heavily used game engine on the market, Unreal.
Speaking of which:
Unity vs. Unreal: How should you choose?
Unreal enjoys far less market share in mobile gaming than Unity, but it commands respect. The age-old adage goes like this: Unity if 2D, Unreal if 3D. The truth is more complex though.
Unreal Marketplace, the engine's asset store, is indeed renowned for the high quality of 3D models it hosts, and a lot of its content can be used at no cost each month. The store also has a much larger amount of pre-made games and blueprints, meaning devs can pick, say, a baseline pre-made shooter game to build theirs upon, shaving off some chunks of development time and cost instead of building from scratch.
But asset store differences aside, what matters the most is that the core building blocks of the engine should fit your game best. For instance, does your game:
Need real-time networking for multiplayer? Stunning visuals ASAP? Open-source code? Point scored for Unreal.
Unreal's origins lie in multiplayer first-person shooters, and the engine is still optimized for low-ping gameplay. Unity's network solutions are simply subpar in comparison.
In the graphics department, Unreal suits and attracts 3D artists who want to develop assets with it, making it easier to find ready-made, yet impressive hyper-realistic visuals. Plus, depending on the nature of your title and team, an open-source engine goes a long way in enabling external contribution — freelancers, other studios, or even the modding community — to your work as an added benefit.
Need to brainstorm and prototype ideas? And distinctive visuals? And diverse markets? Three Points for Unity.
Unity uses C# instead of Unreal's C++, making programming for Unity ostensibly simpler (Unreal Blueprints notwithstanding), and devs will still need to know code to work with Unity. The great UI and ease of picking it up make it a great engine to prototype and test concepts in practice.
Visually, although both engines are capable of creating both 2D and 3D games, 3D-realistic Unreal games do have a noticeable visual fingerprint of sorts. Unity's vast library and tools are a plus when it comes to cultivating visual artists' unbridled, unboxed freedom, even if it takes a tad more effort to achieve eye-catching results.
And as I noted before, a non-intensive Unity game is probably the closest we have nowadays from the Flash games of old — it will run anywhere for cross-platform purposes, and porting is a cinch.
Supporting developers with Unity
Beyond the relative ease of learning Unity, there are a couple of additional advantages that attract game developers to the engine.
Mainly, documentation and the community. Unity is very well documented, and changes and updates are easily tracked. The huge community around the engine also means that second opinions on hard project spots are readily available on the plethora of forums dedicated to it. Furthermore, free tutorials are fairly ubiquitous and cover just about anything Unity developers might search for to improve their craft or answer a question.
Community-active Unity devs account for an unofficial half of Unity's support network, with the other half coming from the engine makers themselves. Unity owns plenty of out-of-the-box support tools for different types of projects, particularly for 2D games and mobile, greasing the wheels for customization.
Nonetheless, game development cycles take time, have their fair share of trial-and-error, and as with most software releases, must be closely followed post-launch to fix unpredicted issues — regardless of engine. Game developers shouldn’t expect Unity to act as if it was an occult hand that provides magical solutions to struggles intrinsic to the industry.
As a primary cog in the gaming machines that have revolutionized the industry in the past decade, Unity proposes to even out the odds. Today, more than ever before, a small team of game developers can gather together to create titles that beat Marvel movies in revenue, advance the idea of games as an art form, and allow grandmas to discover new hobbies in the shape of free-for-all deathmatches.