Guest author Kevin Murphy from RetroNeo Games
The Unity game engine by Unity Technologies is the world’s leading third party game making solution. It’s the engine of choice for over 45% of the world’s developers according to the Unity website’s PR page. This makes it by far the most used engine in the world. The same survey informs that their closest competitor (being Unreal Engine 4, or ‘UE4’, by Epic Games) has just over a third the number of users – 17% market share.
Democratizing Game Development
What Unity aims to do – their mantra – is to “democratize game development”, and they succeed with flying colours in a myriad different areas.
Their engine is free and easy to install, and so anyone can have a fully featured game development engine installed on their Windows PC or Mac (Linux support is also on the way) with a minimum of fuss. Just Google “unity3d download”. During the install process you can choose specific build platforms. Many are unchecked by default so be sure to read the list and take what you want. Android and WebGL are probably ones worth ticking.
If you’ve never looked at an engine or line of code before, Unity’s online tutorials can take you from your first moments in the editor and have you playing and sharing your very first game in just a couple of hours.
From there, you can complete more and more advanced tutorials until you’re playing multiplayer co-op games against AI enemies.
Quick Recommendation for beginners: My favourite unity game tutorial in terms of progression was the Space Shooter Tutorial.
Tutorials are always being added and there’s also live web training roughly once a month where you can follow along with a new topic and interact with the tutor as they go, asking questions. This is also completely free!
If something isn’t covered by a tutorial or you want to go deeper in a certain area, you can be almost guaranteed that there’s a community member with a tutorial on YouTube that’s just what you’re looking for. There are also several Udemy and other paid courses online if you’re so inclined.
Between Unity’s own tutorials and the community content, you can almost get your whole game dev education from Unity. They’ve doubled down on this recently with the Unity Certification program; a paid program that aims to create an industry standard qualification for Unity developers so that employers can know what they’re getting.
The Unity Asset Store is a boon to any small teams or inexperienced developers who either can’t afford or don’t know how to implement certain features. Here you can find anything from 3D models to sound libraries, custom scripting solutions, level or AI editors, or even complete projects to poke around in and see how everything slots together in a “real” game.
Most content is made by the community and will cost money, but there are often free demo versions of some assets, and Unity themselves often upload completely free content for you to flesh out your prototypes.
Interacting with Unity is based around a Component system. For example, a little robot character might have a model, a renderer, and a Rigidbody so it has a physical presence in the world. Want it to make a noise? Add an AudioSource! Then you can visually drag a sound file onto the component. Want it to move? You’re looking for an Animator! This logical approach to constructing your scenes (not that it’s unique to Unity, but it is used very well here) can get you very far with a minimum of fuss.
Normally in Unity if you want to further from here you may need to write a script to tie all of the components together and give the robot some AI logic, but by going to the Asset Store and downloading something like Fungus (completely free) or uScript, you can even do the scripting in a visual drag-and-drop kind of way, allowing anyone to see the results they want quickly and easily.
The Unity API is well documented online and can give you insight into how any given function operates or should be used. This manual is constantly being updated, though occasionally, you may not find as much detail as you needed on a given topic. Thankfully, the Unity Answers forum is full of helpful users and admins to help pick apart any difficulties you’re having. Indeed, your problem has likely already been solved if you search before posting.
Unity Personal is both free and fully featured, allowing developers and students to be creative and drive the gaming industry forward. This version of unity is capped if your game earns $100,000 or more per year and does not feature performance reporting or the pro editor UI skin. To use these features, an upgrade to the Unity Plus package is required, costing $35 per month on a 12-month commitment plan ($49 per month with an open-ended contract). Whilst this option still retains the $100,000 revenue cap per year, you do have the added bonus of flexible seat management, asset store project packages and one month’s access to Unity’s Certification Courseware.
To remove the $100,000 cap you’ll need to subscribe to the Unity Pro package, which is currently listed at $125 per month with a one year commitment. For this price tag, you will have access to limited support and limited source code, providing you with extra peace of mind in comparison to the free tier. To gain access to the entire source code and receive enterprise grade support, there are bespoke packages available, allowing you to design a tailored solution that can include a custom number of concurrent users and customer courseware that best suits your team.
After listening to user’s feedback, the new pricing tier (released June 2016) has reintroduced perpetual ownership, allowing Unity Pro users who pay for a minimum of two consecutive years, the opportunity to own the latest Unity Pro licence available at the point of termination of commitment.
Compare this with UE4 which requires a 5% royalty after the first $3,000 gross per calendar quarter. After crunching some simple numbers, I can tell you that if your game is sold at $10, and you sell more than 3,300 copies of your game in the first 3 months (which you will be hoping to), UE4 starts to become more expensive than Unity.
CryEngine has recently moved to a ‘pay what you want’ model, so whether it’s cheaper or not is up to you. Amazon’s new ‘Lumberyard’ is also free but hasn’t seen widespread adoption in the months since its February 2016 launch. Of course, this could change, especially since Amazon owns Twitch, which is becoming more and more important for games marketing.
One of the major benefits of using Unity is that a lot of the advanced engine coding is handled for you. If you’re programming in C++ on another engine you’ll need to specify what to do with garbage collection and memory allocation, but not in Unity. You’ve less to worry about, and so you can prototype faster and generate fewer bugs, but you also have less control. This is a key area to consider when choosing an engine for your game. Most teams will happily take the added speed and convenience, but this can be a deal breaker for those that want absolute authority over the engine.
I mentioned above how developers have tended towards UE4 and CryEngine if they wanted their game to look beautiful, but since Unity added PBS and other lighting improvements in Unity 5 in March 2015, they’ve effectively closed that gap.
At a very simple level, Physically Based Shading / Rendering (PBS/PBR, same thing) is designed to give more realistic lighting to environments by treating metallic and nonmetallic surfaces differently in the lighting calculations.
We’re now starting to see the next generation of #madewithunity games making use of these improvements. The upcoming first-person game P.A.M.E.L.A. looks like it will be one of the most graphically impressive games ever made on the Unity platform and will help to alleviate the old stigma that something “looks like a Unity game”.
There’s a wide range of shaders given in the editor and still more to be found online, but it’s also worth noting that you can write your own custom shaders relatively easily through ShaderLab. It’s not C# but once you know how to read the existing shader language, you can modify what’s there and create very powerful custom solutions.
The Unity player can currently export builds for over 20 different platforms – more than most of its competitors. These include the predictable Windows, Mac, Linux, Xbox, Playstation, Android and iOS, but also the Windows phone, WiiU, PS Vita, Android TV, and of course, all of the current VR platforms.
There is even a VR version of the editor in the works where you can put yourself in your scene and place game objects by hand. This will be extremely useful for level designers even in non-VR games.
Unity Web Player / WebGL
The web build platforms are worth mentioning separately for a moment. The Unity Web Player has been deprecated as all major browsers are dropping support for NPAPI. Chrome first dropped it (rather suddenly) in September 2015. Unity’s WebGL platform replaces this if you’re building something like Unity Facebook games or anything else that you want to play in a browser. The sudden Google dropping of NPAPI meant that Unity had to scramble to bring in WebGL support, as suddenly all old Unity web player games were broken on Chrome, the biggest browser. In fairness to them they’ve made it a priority and are working with all major browsers to create a standard medium for the future of web games. It’s come on leaps and bounds as a viable platform in the last year and WebGL 2.0 is also in the pipeline.
If you want to make a Unity multiplayer game, you will want to do some serious research. Unity have started to provide their own multiplayer servers but they are not long out of Beta and do cost money to go beyond a very low level of support.
Photon networking for Unity (they’ve a range of products on the Asset Store) is a popular solution and the Gamesparks integration is well worth considering, especially when taking their latest introduction of Real-Time Multiplayer Services, which are highly lightweight in comparison. Research what best suits your needs and shop around for price.
Apart from Multiplayer, Unity have been bringing a whole suite of online services to their users in recent months. Unity Analytics, Cloud Build, Collaborate, Ads and more seek to provide the entire solution with a particular focus on team development and mobile games services.
Punch Club and Party Hard were two recent games made with Unity that saw great and unexpected publicity because of their Twitch integration. Viewers could literally play (or participate in) these games through text commands in the chat. This suggests a whole new way to play and market games.
There isn’t any real difficulty getting Twitch integration into a Unity game, but it’s worth noting that Amazon owns Twitch and now have their own game engine called Lumberyard. If Twitch is a particular focus for the type of game you’re making, it’s worth keeping an eye on Amazon’s plans for the platform, and whether your game development would be easier in Lumberyard.
The Unity Roadmap webpage makes for no small amount of interesting reading. They have teams in twenty locations around the world handling all different areas of research and development. Singapore is primarily in charge of the 2D features, for example.
At GDC in March 2016, Unity teased WebGL 2.0, an advanced cinematics sequencer called Director and all manner of graphical upgrades.
In the near future we can see a lot of WebGL work and new build platforms coming down the line, but also a lot of 2D, VR and physics improvements.
They seem to be simultaneously focusing on closing the graphics gap with other engines, keeping their lead on build platforms, keeping VR developers sweet (check out videos for the VR editor – sweet!), and expanding on the 2D sector; a space where a lot of their user base resides.
Is it for you?
Well that’s all well and good, but is Unity for you?
Well, are you a student, hobbyist, or a small studio? Then Unity probably is for you. However, if you’re a high-powered tech-focused eye-bleeding graphics kind of developer with a long list of specific requirements, maybe it’s not. Unity may be in use by 45% of studios, but many of those produce games that you’ve never heard of. The number includes a higher proportion of students and hobbyists than is found using other engines. This is because Unity has a relatively friendly learning curve and its free version can do an awful lot, especially since Unity 5 removed the paywall for advanced features like lighting and certain cloud services.
Let’s put it this way. 45% of the console games you see on the shelf in GameStop probably aren’t made with Unity. Here the number would be a lot lower. Games with a Ubisoft, or Activision label and some games with the EA label (Star Wars: Battlefront, Assassin’s Creed, and Call of Duty) usually run their own proprietary engines.Other companies trying to mimick the power and speed of modern shooters and open world games may still use a third party solution, but it won’t likely be Unity. Star Citizen is using CryTek’s CryEngine for graphics reasons, and John Romero’s new shooter Blackroom is being built with UE4 for speed.
But these are very advanced developers and companies who know exactly what they want for their games, know every nook and cranny of the engine code and know whether it will serve their purposes or not. They make games that push technological boundaries of many third party game engines – boundaries that require a lot of expertise and money to budge even a little bit.
With that being said, where Unity may not be the tool of choice for console, it certainly is for other platforms and graphics aren’t the only way to innovate. Gameplay and narrative innovations are far more interesting to many gamers than “ultra-realistic” graphics that will look dated in just 12 months. Unity offers all the tools you need to quickly prototype your idea, and take it all the way through to publishing. Most of the people you work for or with will be familiar with it, and whether you’re making a 2D or 3D game, Unity is usually well suited for the purpose.
Wondering if you’re in good company? Her Story, Kerbal Space Program, Cities: Skylines, Firewatch and Superhot are all games you’re likely to have heard of that use Unity. Sound like an indie-heavy list? How about Hearthstone and Fallout Shelter? Unity may not be the first choice for many studios that are pushing the boundaries of games that are packaged up and shipped off to games stores across the globe, but for many, depending on their requirements the flexibility and pricing are more than favourable.
Even Disney’s recent Jungle Book movie used Unity to help find the best camera angles within the mostly computer-generated scenes.
Don’t Judge a Book by its Cover
This may be a bit tongue-in-cheek, but it’s probably worth correcting a common error. The engine is called ‘Unity’, not ‘Unity3D’. Inside the editor it has 2D and 3D modes.
The confusion arises because the Unity website’s address is unity3d.com. Unity.com was already taken.
Unity was born in 2004 after three guys whose game failed to sell realised that the engine they made for it might be more valuable. They’ve since succeeded in democratizing game development and continue to break down barriers to entry into this exciting industry. While this has in part contributed to a more and more crowded marketplace making it harder for companies to turn a profit, it’s also led to more and more interesting games being made and stories being told. Look at it this way: Not everyone who learns to play guitar wants to play in a band and sell records. Sometimes they just want to create! There will always be money to be made at the top, regardless.
Unity have fostered a fantastic community, and their own business model shows that shipping games units isn’t the only way to make money in the industry. Some developers have shifted away from game creation entirely and now make their whole living selling their models or scripting solutions to fellow community members on the Asset Store, or by selling Udemy courses or running Patreon campaigns to provide tutelage.
If you’re a developer, big or small, and you’re trying to choose your game engine, there’s a very good chance that Unity is exactly what you’re looking for depending on your requirements. User focus, company culture, and technical support are all very strong. The engine is powerful and very flexible. It’s also likely that anyone you’re looking to hire or work with will be familiar with it.
Similarly, if you’re looking to be hired in the industry, you want to be sure that you’re familiar enough with Unity to discuss it at interview. The more engines, languages and tools you’re familiar with the better, of course, but as the most used engine this should be at the top of your list.
Unity has completely changed the landscape of game development and show no signs of slowing down. Their continued innovation and focus on user needs has granted them the well deserved recognition as the industry standard, and they’re likely to remain so for years to come.