Tips3DGame DesignWritten by Josh PettyDisclosure: This post may contain affiliate links. That means if you buy something we get a small commission at no extra cost to you(learn more)
Unity is, simply put, the world’s most popular game engine. It packs a ton of features together and is flexible enough to make almost any game you can imagine.
With unrivaled cross-platform features, Unity is popular with both hobby developers and AAA studios. It’s been used to create games like Pokemon Go, Heathstone, Rimworld, Cuphead, and plenty more.
While 3D is in the name, Unity 3D also packs tools for 2D game development.
But artists love it as well since it comes with powerful animation tools that make it simple to create your own 3D cutscenes or build 2D animations from scratch. Nearly anything can be animated in Unity.
Also Unity 3D offers a free version so developers can release games made with Unity Personal without paying for the software, so long as they make less than $100,000 from games made with Unity.
For those willing to pay, Unity offers some extra features and a flexible licensing plan under a tiered subscription model. Premium users will have access to Unity’s source code and developer support as well.
Because Unity has been around since 2005 it has developed a massive following of users and an amazing library of resources. Not only does Unity have fantastic documentation, but the sheer wealth of videos & tutorials online is staggering.
Beginners are wise to start with Unity for this reason alone. Among a laundry list of video game engines Unity serves as a portal of knowledge and resources built solely on their incredible community.
Unity 3D comes loaded with a ton of professional tools for both programmers and artists.
Unity provides a workspace that combines artist-friendly tools with a component-driven design that makes game development pretty darn intuitive.
Both 2D and 3D development is possible in Unity, with 2D physics handled by the popular Box2D engine.
Unity uses a component-based approach to game dev revolving around prefabs. With prefabs, game designers can build objects and environments more efficiently and scale faster.
With powerful shaders, physics-based materials, post-processing, and high-resolution lighting systems, Unity can deliver impressive graphics across the board.
Everyone from Ubisoft to NASA is utilizing Unity’s VR technology too.
For the platform itself: Unity was built in C++ and optimized over the years for performance. Premium users will have access to Unity’s source code for even greater opportunities.
Cross-platform deployment is a major draw for today’s developers and Unity shines in this area. With support for every major console and operating system, games developed in Unity can be deployed to absolutely any platform.
With Unity’s editor tools you can simultaneously handle inputs for mice, keyboards, and game controllers.
There’s also some pretty strong support for cloud-based solutions for multiplayer games with server hosting and scalable matchmaking, making it an all-in-one solution to multiplier experiences.
Team collaboration has been greatly improved in the newer versions of Unity. Built-in version control and cloud integration make working with others easier than ever before.
And Unity has a customizable editor with full API support for building your own editor tools and scripts. Make almost any tool you want to have for Unity, with Unity.
And it’s definitely worth mentioning the asset store which contains thousands of models, scripts, scenes, materials, and everything else you could want. You can even sell your own assets on the Unity store.
Truly one of the strongest communities you’ll find in the 3D space.
Pros and Cons
We’ve already discussed some features available in Unity, but the question remains: why choose Unity 3D over other engines like Unreal, GameMaker, or Godot?
For starters, Unity is a good all-around engine that can handle almost anyone’s needs. Unity is great for prototyping games as well.
The prefab system makes it easy to reuse code and assets from other projects and edit them for new purposes.
Building complex worlds in Unity 3D becomes a matter of assembling many components that are made up of their own components.
But the main reason to choose Unity is the huge library of resources available to everyone. Even experienced developers can save time and learn a lot from the community.
Unity also offers a robust set of cloud-based tools to easily monetize your game and add multiplayer capabilities.
With Unity Analytics, Unity Ads, Unity Collaborate, and Unity Multiplayer, users have access to an incredibly coinvent set of tools for creating dynamic games, all in one place. Very few other game engines offer this much centralization.
On the downside: Unity’s multi-purpose approach makes it clunkier than engines with more focus.
Creating 2D games in Unity is more painful than using Godot or GameMaker, while Unreal’s rendering and lighting systems are more capable than Unity’s.
Unity also blocks features for those unwilling(or unable) to buy the premier version. Most will not have access to the source code which can make Unity seem like a black box.
As game engines go, Unity 3D is rather large.
Even a blank project will often be larger than some games because there’s a lot of bloat that comes with using an engine like Unity. If you’re looking for lean & mean you may want to look somewhere else.
Also one other big negative is that Unity’s licensing system can be confusing. For instance: the program is free unless you make over $100,000 from your sales, in which case you’ll need to purchase a subscription plan which can also be confusing to understand the tiered pricing they require.
Other engines offer more straight-forward agreements and can be easier if money is a serious concern.
Unity offers several pricing tiers including personal, plus, and pro.
While the free version will get you started, you’ll want to upgrade to plus or pro if you’re serious about making commercial games.
Those not paying the monthly subscription will need to show earnings of less than $100,000 for the games they develop with Unity.
Hobbyists can upgrade to the Plus plan to gain access to more features and training materials, all of which help monetize their games and improve performance. This is fantastic for indie developers just starting their careers.
The Pro tier is designed for game studios and professional teams who need in-house support as well as those who make more than $200,000 from their Unity projects.
So even though licensing can be a bit confusing, there really is a license for everyone.
I’ve been using Unity 3D for many years so I can offer personal opinions and gotchas when it comes to Unity.
First, I think Unity is a great engine. It’s not the best, but it’s a wonderful, well-rounded tool and it’s excellent for beginners.
Second, there is no best game engine.
There are only tools for the job. Some are better than others and it really depends on the needs of the individual project.
While you’ll need coding skills to take full advantage of Unity, there are resources available for learning anything you want.
With a quick Google search you can find code samples and assets for everything from first-person shooters to candy-crush style matching games and everything inbetween. Although there is good reason to learn coding alongside 3D/CG work too.
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.
Author: Josh Petty
Josh is an artist and game developer who specializes in sci-fi, fantasy, and abstract art. His work employs vibrant colors and combines elements of glitch art, outrun, retro-gamming, neo-geo, and conceptual art. He trained as an oil painter before picking up 3D modeling, animation, and programming. He now runs Brain Jar, a small game development studio that focuses on experimental, narrative-driven content. You can learn more on the website or on Twitter @brainjargames.