Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Inc.’s Worldwide Developers Conference as a Mac OS X-exclusive game engine. The engine has since been gradually extended to support a variety of desktop, mobile, console and virtual reality platforms. It is particularly popular for iOS and Android mobile game development and used for games such as Pokémon Go, Monument Valley, Call of Duty: Mobile, Beat Saber and Cuphead. It is cited to be easy to use for beginner developers and is popular for Indie game development.
The engine can be used to create three-dimensional (3D) and two-dimensional (2D) games, as well as interactive simulations and other experiences. The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering and construction.
While it’s hard to back up this statement with cold hard facts, it is without a doubt the most common belief when it comes to Unity: the engine is known for being the go-to development environment for indie and mobile games. Some data does partly support that image: as of September 2019, 52% of the top 1,000 mobile games were powered by Unity, as well as 60% of all AR/VR content, according to the company. Unity game players are located in 195 countries — which is literally every single country on the planet.
The engine, which supports over 25 platforms from the obvious iOS to PS4, to the less visible Windows Mixed Reality or Android TV, has been installed more than 33 billion times in just the last 12 months. The real-time development platform allows for the creation of 2D, 3D, VR and AR content and has reached 3 billion devices in the last 12 months.
- Unity is a good engine for beginners
With Unity being free of charge, it makes for a very valuable tool for students and aspiring developers.
Tea for Two’s Williams started using Unity in 2008. A programmer by profession, he worked at Ubisoft and EA before his recent shift to indie development with ski resort sim Snowtopia. He agrees that Unity is a good engine for beginners, saying it handles all the added complexity of doing something in 3D.
“If you want to start to learn programming, and you just want to get something done, Unity is a good place to start,” he says. “When you need to do heavy level designing it’s good for you, because you have all the tools in there.”
Unity’s ease of use for beginners went a step further when the firm announced in July 2020 that visual scripting tool Bolt was now going to be included in all Unity plans going forward, at no additional cost. Bolt allows developers to implement logic in their projects without having to know how to code.
“Bolt has visual, node-based graphs that both programmers and non-programmers can use to design final logic or to quickly create prototypes,” Unity Technologies said in a statement. “Bolt also features an API that programmers can use for more advanced tasks, or to create custom nodes that can be used by other team members.”
Unity initially acquired the Bolt plugin from publisher Ludiq in November 2019. It’s currently working on the next version of the tool, Bolt 2, which should “bring improvements in capability, scalability, performance, and ease of use,” Unity Technologies said. Bolt 2 will also be included for free in all Unity plans once it releases.
- Unity is fast and agile
Unity’s ability to get things done very quickly is another valuable strength — it allows for very fast iteration and can be extremely useful when you brainstorm for a new game concept.
Stan Loiseaux, artist and co-founder at Pajama Llama, developer of Flotsam — awarded the Best Unity Game prize at Gamescom 2019 — says that’s the very reason his team picked it.
“We chose Unity because it’s a fast engine that you can make a game in pretty quickly, without even coding or with very simple coding,” he says. “We wanted to prototype a few games first and then started making Flotsam after that.”
- Unity makes portability easier
Williams adds that, on top of being fast at development, Unity is also fast at porting, with your game being essentially ready to go on all the different platforms in one click. It’s worth repeating here that Unity is available for 25 different platforms, which makes for a very valuable feature.
Gerges emphasises the simplicity of this portability process, with Yooka-Laylee being available on PS4, Xbox One, Switch, PC, macOS and Linux.
“For a company like us focusing on multiplatform games, the ease at which builds can be deployed and iterated from a lead format makes our lives very much easier,” he says.
- Unity has a large and varied asset store
Playtonic studio director Gavin Price also praises Unity’s “well-stocked Asset Store for further tools, very well documented and supported with a great dev community all helping figure things out.”
Around 1.5 million developers visit the Asset Store each month to browse the 56,000 packages available — that represents over one million individuals assets available for creators to use.
However, Loiseaux warns that some assets may become unavailable over time, so you should avoid using too many assets that influence the game in a big way as it can lead to some serious delays in your dev journey.
- Unity allows you to build your own tools
Unity’s Asset Store not only makes it easy for developers to buy tools, but the engine also makes it really simple to build tools.
“This is something that is really, really useful in making games, because you want to cut down on how hard it is, all the time to build stuff,” Foster says.
“If you want to make a small game, quickly, Unity is a really good engine for it. It will render stuff in its own way and maybe you’ll use certain plugins, but you won’t go too low level. It provides you with lots of tools but you can’t change the fundamental parts of it. It gives you enough flexibility to do a lot of things but you can’t drill down.”
- Unity is good for VR developers
All the qualities highlighted by the interviewees make Unity an ideal engine for virtual reality, points out Trevor Blom, lead tech at Arizona Sunshine developer Vertigo Games. It is worth noting that Unreal is also an engine that’s been praised for its VR abilities.
“The initial reason we chose Unity is that we’ve had a lot of experience with the engine from previous work,” he says. “It became obvious quickly that VR is important for Unity as they have been, and still are, on the cutting edge of the technology. New APIs, features and paradigms are implemented fast as they work together with VR powerhouses.
“An added extra is that Unity is very popular for indies and small teams, which is exactly what most VR development teams are. Recently they have put a lot of effort into making the engine modular and extendable, which fits our growing team perfectly.”
- Unity is not suitable for big projects
Not being able to drill down too deep is both a strength and a weakness for Unity. On one hand it allows for a quick process, well adapted to beginners, on the other hand that means Unity is probably not what you’re looking for if you’re hoping to make anything very bespoke, or on a large scale.
You might want to reconsider your choice if you’re aiming to do a AAA game, or a large landscape with lots of things on screen at once, or networked games.
“Unity has a lot AAA facets but I don’t think it’s quite there yet in terms of open-world stuff,” says Foster. “[Unity Technologies is] rebuilding that networking model at the moment so that might not be true in the future, but for now you bump into that wall, you can’t go deep enough to do heavy optimisations or you have to do a lot of fancy tricks as Unity is not giving you enough room to change what you need to. That’s where you hit the inflexibility of Unity.”
- Unity promotes bad code practices
“A few things are not really well adapted to C# and game development,” he says.”I switched from MonoGame to Unity but it wasn’t an easy decision for me because I don’t really like Unity. It promotes bad code practices, because it was meant for smaller projects.
“It was meant to just write a few small behaviours and you added objects and you had something dynamic. But if you just do only that, you miss out on separating data from code, for instance, and everything starts to be intertwined. So not everything is good in the long term. And all that is inherited from the early stage of Unity.”
Interestingly, that’s an issue that British developer Cliff Harris touched upon during a talk at GDC a few years back, entitled “Fuck Unity, and the horse it rode in on.”
- Unity is not as artist-friendly as Unreal out of the box
Down in Belgium where Pajama Llama is based, it’s the coders who chose Unity to build Flotsam. And as an artist, Loiseaux believes Unreal would have been nicer to start with.
“You can do pretty much the same thing in Unity I would say, but out of the box [Unreal] is a lot better,” he says. “Things like lighting and shaders, you have a lot more options. I think it’s a bit more artist-friendly. With Unity you can make the same things but you just have to put in a bit more effort to get to the point where you would be with Unreal.”
Unity is, essentially, a well-rounded game engine that truly does simplify game development. While there may be better engines to choose depending on the needs of your project, learning Unity will only help you grow as a game developer.
If you’re a total beginner: choose Unity because the community will help you learn and the tools will be sufficient for a long time.
If you’re more advanced then you may choose to go with Unity because of the cross-platform deployment options and the streamlined development process. Keep in mind that many AAA game studios work with Unity so it’s a quality choice in the massive world of video games.
iRender prides itself on providing the right configuration packages for every versions of Unity to give you a great experience in rendering. If you have any questions about how to speed up your rendering with our service, register for an account today to experience our service. Or contact us via WhatsApp: (+84) 912 515 500/ email [email protected] for advice and support.
iRender – Happy Rendering!