Unity is a multiplatform game development tool, designed from the start to ease creation. A fully integrated professional application, Unity just happens to contain the most powerful engine this side of a million dollars.
The advantages of Unity are:
+You can build for nearly all major plattforms
+Easy to learn
+Great assets pipeline, which supports most 3D packages
+Great and helpful community and hundreds of useful tutorials
+A big fund as backbone. So this engine will be further developed and getting better
+one of the most optimized mobile engines
So why I give only 7 out of 10?
Well, Unity has unfortunately some really weak points:
-Basic version is free. But if you serious about game development, you will neet to purchase at least the $1500 pro license. Add $1500 for iPhone pro license and a additional $1500 for Android pro license as well. To be fair there are also a cheaper iphone and android licenses. But the crucial features are not included. In my humble opinion, this is pretty pricey for an indie developer on tight budget. The xbox and ps3 license is pretty pricey as well. I know it. But the price is not disclosed.
-no source code by default. That need to be purchased extra and is really expensive.
-dated terrain editor.
-no HDR or gamma correction at the moment.
-weak cloth simulation and no real softbodies.
-no RNM lightmaps at the moment.
-primitive real time shadow maps.
-no fluid physics
-old school tree editor
- No linux support. They are thousands of Linux users who request Linux support on UT's feedback site. There are over 8000 votes for this feature which is ranked #1. But Unity did not even consider it yet. They are too busy to implement promotionally effective features like water shader, and DOF to let it look like UDK or Cry.
Unity is a Jack of all trades, master of none IMO.
If you want to develop for mobile devices and have $4500 lying around, go for it. Otherwise look for some alternatives such as UDK, C4, Cry, BGE
This engine is perfect when you want to prototype games or make simple ones. The feature list is very powerful and the scripting standard that is used is very straightforward. put a game object on a scene, put a script that you made on that object and you are all set. You cannot get any simpler than this!
As you might guess by now there is a big bad BUT. I reached this after working with unity for the past 6 years and many don't notice it or refuse to notice it because they already paid for this so there is a kind of "marriage" with the engine. If you remove the veil of what the engine can do for you graphically, you will start to see the problems this engine has from a more objective standpoint.
- writing monobehaviour scripts encourage bad programming practices that will make new programmers sloppy with many game code with many inefficiencies. You need to have some programming background to not fall into this trap.
- Simple scripts are the best choices for games with Unity. But then you need to add some complex code in order to add uniqueness to your game so it does not fall into a formulaic kind of game. Unity will eventually start fighting back and when it does, you are writing code workarounds instead of actual code features since you cannot control how the engine works, you just have to make the best with the behaviour of your game code.
- MonoDevelop is the default IDE (VStudio on Windows). MonoDevelop is very unstable and may crash while you are editing or debugging your game. I had to resort to use code text editors instead of IDE's for better performance and less crashes.
- Flexibility is a loose term when it comes to Unity, because many assets and plugins work on top of Unity's "black box" so your game performance can take a very serious hit.
- Games made in Unity, although powerful, they can turn your computer into an energy hog even though the game is graphically simple. The engine is not very efficient
- Unity Editor is way too centralized for an editor that does not edit game code without external editor, but you may find it almost impossible to debug an unity game from the code editor alone, you have to start the debug from the Unity Editor and look at the code in another program. This is not very programmer friendly.
If you want to start making games and you have little programming experience. Unity is more than enough for you. If you plan to develop simple to low complexity games. Unity is right for you. If you are an experienced programmer looking to make something extremely unique(game or application), I recommend you to go to another engine
Hello everyone. My name is Ivan BiN@KoT Muratov. At the moment Im programmer in AR team. After Reset™ – a classic sci-fi role-playing open world game with old school top view. (www.indiedb.com/games/after-reset).
As you know we chose the Unity engine for this project. And I'll try to put the evaluation in terms of a person who works on this engine. I would not rate it in terms of declared capacity of the engine. And so they all know and can read on the official site of Unity technologies. I will try to highlight the most important features of this software on my point of view.
1. One User Per License. You must purchase a license for each individual using Unity Pro and any other paid Unity products.
2. Do not forget that the individual platform and team license purchased at an additional price.
Therefore, the apparent cheapness of the Unity engine is just an illusion.
3. The Unity technologies increasingly evolving towards mobile platforms. The use of the engine for the standalone projects isn’t very popular.
4. Engine with closed source. Developers limited only by the fact that the Unity technologies realized.
5. The scripting language engine. It is possible to write scripts in 3 languages: C#, JS, Boo. There is the possibility of using other scripting languages. Object-oriented programming.
6. Bugs in the engine. The problem is not that there is a bug, but the fact that it can fix the Unity technology only. All what you can do is to send the bug report. And you have to wait for the new version with fix of this bug.
While working with the engine I found over 10 bugs. Some of them are resolved changes in the parameters of component. Some have to find an alternative. Quite a lot of problems are with real-time shadows, lightmapping, etc. Most of the in-build components have to write myself. Because any non-standard features can’t be applied to them.
I give only 7 out of 10. Unity is very good engine, but not perfect. There is nothing perfect :)