If you are starting a serious long-term project then choosing game engine is your most important early task. The problem comes when you don’t know how to determine whether particular choice is good or not. What you need to do is to investigate. However, you’ve landed on my website, in this particular page, it means that you’ve already started your research about Unity. Read further to get answers for most common questions regarding choosing Unity as the engine for your game.
Unity is huge, and with its size many questions arise. Mostly from beginners who are worried about everything, however there’s no need for that. It’s great engine suitable for independent developers, as well as for companies of any size.
This article is about basics of Unity for beginners. If you are already using this game engine but still a bit green about coding in it, then check out my Unity update functions tutorial – update methods are the core of script programming in Unity. If you place code in wrong update method then you will get various issues with your project. So, if you want to have solid foundations of programming in Unity, give it a read.
Table Of Contents
What Unity Really Is
These questions mainly come from fear of using the wrong tool, or of spending years on a project in wrong engine. Which is very understandable, and if you browsed Reddit for a while then you would be shocked by how many developers regret making huge project in RPG Maker or Game Maker. So what Unity really is?
Is It A Framework, API Or An IDE?
No, Unity is not framework and not an IDE – its an engine. Difference between engines and frameworks is that frameworks are huge libraries that can be loaded into your applications.
There are indeed frameworks that focus on game development like Java’s LibGDX – however engines are much more developed and provide way more functions and tools, that are supposed to make the game creation process much faster, easier and more bearable or even entertaining.
APIs are just predefined properties and methods of a framework or library. Difference between engines and IDEs is that engines are focused entirely on game development while IDEs focus entirely on programming.
Engines have more tools and functions, and they can coexist with IDEs and other code editors very well. The main similarities of engine and IDE is that they both have a compiler and can edit files with code.
Is This Engine Good?
As of 2019 Unity is considered as best or second best engine by the masses. Even if it wasn’t #1 but #2 instead – would you lose anything working in it?
There are many reasons to love this engine, like:
- Supports C#, which has easy and comfortable syntax.
- Ton of free tutorials on internet.
- Easy to learn and intuitive API.
- Free till you start making money on selling games.
- Easy usage thanks to objects and components.
Even if someone truly hates Unity, he can’t say its a bad engine because it doesn’t have many competitors, so relatively it scores very high in engine hierarchy.
Is Unity Completely Free?
Unity isn’t completely free. If you want a 100% free 2D-3D game engine then check out Godot. But it’s not as developed as Unity is so have that in mind, as it may lack some features. It’s also terrible for beginners because whenever we encounter a problem – we won’t find any solution in internet. So how free Unity really is?
Anybody can buy Unity Pro regardless of his or her yearly income. The licensing restrictions only state that any company or incorporated entity (note: does not include individuals) whose business income (turnover) is more than US$100K per year must use Unity Pro and cannot use the Unity Free.
So as long as you don’t earn more than $100000 yearly which is about $8000 monthly in total from your made-in-Unity games and products, you don’t have to pay and can use free version of editor.
If you however earn over $100000 yearly from products made in Unity then you have to buy Unity Pro, which at the moment costs $125 monthly. So Unity really seems like free, and even if you exceed the limit, the monthly fee will still be small relatively to what you will earn monthly.
But will you exceed the requirements of free plan? A lot of people switch to Godot hoping they will never have to pay any fees, but they don’t make any money at all and this factor loses its importance. They don’t pay fees, but they pay with compromising on engine quality.
Is Unity Open Source?
Jokes aside, Unity will never be open source because they want to “stay in the business tomorrow” as they openly stated:
If you want open-source engine then try Godot. Unreal’s source can be edited, but it’s not open source, as in it can’t be distributed by anyone except them.
Is It C++ Or C#, What It Supports?
Unity was made in C++, however, its users code in C#. This decision was probably made having marketing in mind, because C# is generally more liked than C++. C# support is one of main reasons why game developers love Unity so much.
Unity Vs UE4, Godot, RPGMaker, GameMaker & CryEngine
All of these engines are mainstream as in they became popular and gathered huge user-base. That’s because they all have one good thing or two about them. However, they are nowhere near the quality that Unity offers.
Unity is much closer to the winner position. Only serious competitor to Unity as of now is Unreal Engine but the majority of gamedevs still prefer Unity.
If you are not convinced, then consider giving a read to my article about best game engines – it’s long indeed, but covers everything you need to know about picking the most suitable engine for your game.
Is Unity Hard To Learn?
Unity is not hard to learn. It’s one of best engines for beginners, so one could think that this engine is good only for beginners. But it couldn’t be further from truth, as the engine is not limited anyhow.
The reason why Unity is easy to use and learn is because C#, the language it supports, is one of easiest languages (due to its intuitive syntax), not only that but also the object-component system is straight-forward, and can be understood instantly.
Working in it is really similar to working in GameMaker, which is as easy as possible. Just like in GM you have objects and “code blocks”, here you have objects and components, and you can write your own components, too. In GameMaker you create an object in the room and assign code blocks to it. In Unity you create an object in the scene and assign components to it.
And UI is also similar. There are two more reasons why Unity is good choice for beginners. First reason being its price – although Unity is not free, you’re free to use it with no cost till you start selling your game. The second reason is that there’s ton of tutorials, advice, solutions and assets for it available in internet. That’s why it’s perfect choice for beginners.
Is It Cross-Platform?
Unity isn’t cross-platform in Java sense as in you can’t compile game once, and send that executable to every platform where it will magically work.
However Unity is in fact cross-platform, as it supports ton of platforms such as Windows, Mac, Android, Linux, PS & XBox – the difference is that you have to compile the game few times, once for every targeted platform.
It’s not really an issue. Java’s “compile once, run anywhere” is very effective marketing slogan but it’s not worth the struggle with this language. It’s much better to use an enjoyable language like C# and just compile the game few times.
Is It Multi-Threaded?
Yes, Unity is multi-threaded. It can be also single-threaded, depending on your code. By default one thread runs. If you want to make it multi-threaded it can be done via C# Job System.
Will You Use Unity?
Unity is great engine for 2D and 3D games, beginners and professionals. Here’s what you’ve learned in this post:
- Unity is 2D, 3D cross-platform video game engine that supports export to all major platforms.
- Unity is most popular engine and it’s not changing anytime soon.
- Unity is not open source.
- Unity is completely free to use till you start earning certain amount of money on products created in it.
- Difference between frameworks, libraries and engines is that game engines have more tools and are easier to use.
- Unity is multi-threaded.
- Unity was made in combination of C++ and C#. Users can code games in C# – well-thought, intuitive language.
- Unity is considered by the majority as the best or second best engine.
- Best things about Unity are its easiness and amount of free tutorials.
If you want to compete with creators of other games for money or recognition, then you have to use an game engine. And Unity is one of best choices, for your game. It will simplify things significantly, will increase the quality of your potential game, and double the development speed.