Unity is a cross platform game engine used to develop video games for PCs, mobile devices, consoles, and websites. It was created by Unity Technologies; in 2005 it was announced as a OS X only product but since has been extended across a range of 21 platforms. The Unity engine has gained popularity with indie developers and is an affordable engine to develop with. There are pros and cons to any game engine, so I want to go over a range of strengths and weaknesses linked to Unity as a game engine, hopefully quelling any worries or concerns new game developers might have about the engine.
- For indie developers, Unity is an extremely well suited engine. Getting started is easy and cheap, and publishing your game is quick even by yourself or with a small team.
- The licensing and royalty options available are great compared to other engines on the market:
– You can make up to $100,000 from your game before needing to purchase a license.
– To compare, with Unreal Engine you can make up to $3000 before paying out a royalty to Epic Games of 5% of gross revenue (per quarter).
- Unity can be used on a plethora of platforms: PC, consoles, and mobile. The process is simple as well! Within Unity, you create your product and can select the desired platforms. During development, you can cater to specific platforms within the engine. For example, optimizing an image for desktop and mobile can be done at the same time
- The community itself is massive and there is a lot of support for new developers. There is a library of tutorials, some paid but many that are free.
- Unity’s learning curve isn’t very steep. Creating a game in Unity compared to another engine, it is likely you will create a better product in Unity if you have no experience with game engines.
- Unity includes an Asset Store, and it is amazing. Aside from many items being free to assist you in development, you can find many things beneficial to your overall learning experience. The Asset Store is maintained constantly by Unity Technologies and it’s very navigable, clean, and well organized.
- Unity comes with a built-in physics engine.
- Scripting tools can be changed depending on what the user requires, and scripting can be done in multiple languages.
- They have been playing catch-up with other engines. Features that other engines have had for a while, Unity is just implementing. Keep in mind, other engines have been around for longer, so you might think they haven’t gotten to adding things yet (assuming there’s a natural timeline of when to add features, so to speak). Unity Technologies takes their time. They just released a 64-bit editor. In my opinion, this should have been done a while ago.
- If you were to compare two games, one made with Unity and one made with a different engine, it will likely be the other engine that will have the better looking game. Since Unity is catered to indie development, smaller, more amateurish developers don’t usually know how to do everything because a lot of the tasks during development are taken care of by Unity itself. Developers who are more experienced will be able to deep dip into the functionality of other engines and make greater use of them and any advanced features. A Unity game can look as good as any AAA game with a massive budget behind it, but because of the indie mindset and focus on indie development with Unity, games more often will look much more simplistic by comparison. This also comes into my own personal experience as a gamer, when a Unity game can make me think twice about what engine it is using (given that there is no Unity branding in the intro to essentially spell it out for me) then that tells me there was a lot of work put into the game. This means the developer have made a effort to create something unique, have shied away from using pre-made assets and plugins and have thought about what the player will notice in advance.
- There is a stigma behind Unity games on online stores also: sales tend to be lower with games that are known by players to be connected with Unity, which may not always be the case and that sentiment is certainly changing as time goes on.
- Versions before Unity 5 were sluggish when developing. Out of the box, it required a lot of RAM and hard drive storage.
Successful Uses of Unity Engine
There are many cases of game projects within the Unity Engine that were led astray either by bad decisions or from the engine simply not working well for the game that the developer had in mind. Although many developers have pulled through and created amazing projects, some that are fully complete and some that (I feel, unfortunately) are still in progress. Amongst the successful projects are games like Kerbal Space Program, Hearthstone Heroes of Warcraft, Wasteland 2, Satellite Reign, Ori and the Blind Forest, Pillars of Eternity and Sunless Sea to name just a small handful. There are an assortment of games that are in Early Access that have been shown to have some success and one I’d like to point out for the purpose of this article.
The Forest is a prime example of indie game progression that is meaningful. The Forest essentially started extremely bare-bones, but through regular updates including a main menu update timer which told players when exactly updates would be online, the game swiftly improved from its initial version. The Forest is a survival—and some might also categorize it as horror—game that turns the genre on its head with some really interesting AI design. You crash on an island and are tasked with survival day in and day out, with a final story in progress to find your missing son who is “conveniently” taken by a cannibalistic tribe. The game keeps surprising me with the progress it has made, but also, the AI that controls the cannibals in the game is impressive. Even if you try your hardest to recognize a pattern, its almost impossible to see one; this AI I would categorize as the smartest I’ve ever seen in modern and indie games.
Overall I fine Unity to be a very worthy engine that can stand up against other engines in a fight. Unreal Engine and CryEngine? Unity can take them. It’s an engine that’s not just targeted to a specific group of developers, an engine that can help out those with varying skill sets and budgets.