If you’ve spent any time with indie games in the past decade, you’re already familiar with Unity. Even big-name developers get work done with the engine—perhaps you’ve heard of Hearthstone and Pokémon Go? What exactly does it offer, why is it so widespread, and what can it do for you? Let’s take a look.
Is Unity a Good Game Engine?
Unity has been tearing down barriers to game development since 2005. But the world’s most popular indie engine has earned a bit of a reputation along the way. The Unity splash screen is more likely to turn off new players than it is an assurance of quality. Since the free version forces the splash screen to appear when games are loading, it’s come to be associated with every half-baked effort that should have stayed in the oven.
Does it deserve the stigma? Certainly not—like any tool, the end result is owned by the person wielding it.
Prototypes and asset flips aside, rest assured that Unity has the horsepower and the flexibility to meet the needs of any team. Whether you’re a solo dev or a multimillion-dollar team at Blizzard, you’ve got everything here to make the game of your dreams.
What Can I Do with Unity?
The short answer is: what can’t you do?
Unity is a component-driven engine, meaning that you build your game as a series of Game Objects (or Entities if you’re using ECS). Engine-provided components for handling things like collisions, AI navigation, and rendering can be added and tweaked as desired. And you can add scripts as components to write your own solutions using Microsoft’s C# and the Unity API.
Unity has a broad and accessible API that lets you dig into any part of the engine via C# scripts. Need to create a custom NPC pathfinding routine? Add a Nav Mesh Agent component, then write a script that interacts with it to produce the functionality you need rather than using the Agent’s built-in pathfinding. Want to make a timed chain-explosion effect? Create an object with multiple Particle Systems and a script to trigger them in sequence.
And that’s just scratching the surface. If you have a vision, a game that simply needs to be made, the only obstacle is your experience (or lack thereof). Thankfully, the community is more than happy to share their knowledge. There’s an endless supply of tutorials and how-to guides for newbies to check out, and we’ll touch on those in a minute.
Surely this potent package costs a pretty penny, you think. Fret not, intrepid game developer; there’s a license that’s right for you!
Starting with “free.”
Unity Personal (Free)
For the low, low price of the electricity it takes to run your computer, you can have it all (sans source code). No nagging pop-ups, piecemeal paywalls, or other alliterative “p” sentences. Just you and your game against the world.
With Unity Personal, you get:
- The latest version of the Unity development platform
- No royalties required for published games—provided you meet the restriction below
- A bundle of resources and documentation (available to all) to get you started
- Forced Unity splash screen
- Limited to individuals or small teams with less than $100,000 in funding or revenue
Perhaps this helps to explain Unity’s somewhat negative reputation. There is no barrier to entry. Anyone can download the Unity Editor and get to work in seconds. But better that than a cost-prohibitive license that shuts down your hopes and dreams before they even have a chance to blossom.
Unity Plus ($35/month)
Unity Plus is where you can really kick it into gear as an indie dev. The price may seem a bit lofty at first—that’s a lot of Netflix subscriptions—but this is where you get some serious bang for your buck.
With Unity Plus, you get:
- The ever-professional Dark Editor UI theme
- Customizable splash screen with the ability to remove the Unity branding
- Access to Unity Learn, the premium first-party resource for tutorials, live instructional sessions, and other resources
- Limited-time discounts for certain assets on the Unity Asset Store
- Advanced Cloud Diagnostics handled by the Unity Cloud (and 25GB of storage with yearly subscriptions)
- Limited to individuals or small teams with less than $200,000 in funding or revenue
Yeah, Unity Learn is great. And so are custom splash screens and asset discounts. But did you see the Dark Editor UI?! That’s what separates the big-time developers from the hobbyists.
Unity Pro ($125/month)
Unity Pro is where the indie devs tend to be priced out in favor of established development teams. Fortunately, it only adds features that would be of use to an individual or group that’s already “made it,” so to speak. But for those who want to dig deep and truly make Unity their own, access to the source code of the engine itself is a major selling point.
With Unity Pro, you get:
- Every previous benefit
- No funding or revenue limits
- Priority technical support
- Access to Unity’s source code
When you’re about to ship a triple-A game, the last thing you want is to be held up as you work through a problem with Unity technical support. Being able to modify the engine directly means that you’ll never be helpless again.
Unless you don’t know C++.
Unity was designed from the ground up as a “3D first” engine. Anything dealing with vectors, quaternions, and virtual space is handled with aplomb. Want to make a multiplayer first-person shooter? Check out Escape from Tarkov for an example of what that might look like. A city-building simulation game? Cities: Skylines takes full advantage of Unity’s render pipeline to produce some stunning visuals for the aspiring mayor. Ready to make your mark on the VR industry? Game development legend Valve made the majority of The Lab using Unity. And you could even do mobile, as hit games like Pokémon Go and Call of Duty: Mobile attest.
Unity’s strengths are best harnessed by a game targeting modern graphics on current hardware. Whether you’re designing a PC-only experience or a multi-platform extravaganza, there’s no corner of the internet you can’t grace with your game.
Being a “3D first” engine, the 2D support tends to suffer. While there are plenty of 2D games created with the engine, the fact is that 2D support was added in as a layer on top of the 3D renderer. This can introduce challenges when handling cameras or building scenes.
The “do-it-yourself” attitude means that there are some small, frustrating issues which persist in the engine years after their discovery. The community is good about helping developers overcome them with time-tested solutions, but it would be nice not to have to dance around them in the first place.
Also, the out-of-the-box multiplayer support leaves a lot to be desired—especially since they’ve begun the process of depreciating their proprietary UNET infrastructure. There are plenty of options available to the determined developer, but expect to apply a little elbow grease to get them working.
Best Tutorials for Getting Started
Brackeys is your one-stop-shop for getting started with Unity. He has years worth of tutorials in his backlog ready to help you learn the engine and the editor, get acquainted with C#, and make your first games. RPGs, shooters, platformers, and procedural generation—he covers it all. The best part? All his tutorials are friendly and accessible, and he never talks down to you. With Brackeys, you can’t go wrong.
While the channel may be small, don’t be fooled. Lost Relic Games provides plenty of top-notch tutorials in the same accessible, easy-to-understand manner as Brackeys. Whether you’re trying to wrap your head around the fundamentals of programming, or you’re simply interested in seeing what’s possible, there’s plenty here to dig into.
- Model Directly Inside Unity with ProBuilder (3d gamedev tutorial)
- Programming for Game Devs Part 1: Classes, code structure, functions, Data types + more!
And of course, you can’t go wrong by going straight to the source. What the free first-party tutorials lack in personality and presentation, they make up for with raw technical knowledge. When you need to see the “correct” way to handle something with Unity, this should be your go-to channel.
- Making an FPS Level with ProBuilder in Unity 2019! (Tutorial – Beginner Friendly)
- Tips for Level Design in Unity 2019!
- Unity User Manual
- Scripting API Reference
- Unity Community Forum
- Asset Store – Take a look and let your imagination run wild!
- Awesome-GameDev – List of great development resources
- MagicTools – List of useful game development tools
- Shadertoy – Learn how to make shaders in this digital sandbox
- Cognitive Flow: The Psychology of Great Game Design – Learn what makes a game fun and engaging. The answer is “flow.”