I - Unity3D

The solution AND the problem.
Technical Information
Name Unity3D
Website http://www.unity3d.com
Rendering OpenGL 2.1*, OpenGL ES2.0*, DirectX 9, DirectX 11
Audio 2D and 3D
Physics Nvidia Physx
Editor Yes - Unity itself is the editor
Languages Boo**, C#, JavaScript
Target Platforms Linux, Windows, Mac, PlayStation 3, PlayStation Vita, Xbox 360, Wii U, Flash, HTML5

* = I'm not sure, I couldn't find any page that explicit state which version of OpenGL Unity uses. Since it use shaders it must be from version 2.1.
** = I never seen a script in this language, the others two are more common

About Unity3D
Ok bros. I began to write a long article describing Unity, it's strenght, it's weakness... but in truth we don't really care. You all know Unity. If not, go their website and learn something.
Let's skip to the juicy part:


First of all disclaimer: it's my personal opinion, also I'm referring to versions from 3.4 to 4.2. Think whatever you wish but I don't change idea: Unity sucks. And it's good. At the same time.

Thank you for nothing
The ideas behind Unity is fantastic: adding scripts quickly, creating prefabs, the shader system and the use of Mono allows you to create and prototype fast. But it is really like that?

The Unity3D user interface.

The main problem is, always in my opinion, that every cool idea implemented in Unity is then left as is, mostly rotten.
Examples:
The pathfinding is damn awesome! But it's static: you can't add or remove pieces of the nav-mesh at runtime. What if you want to add an obstacle to the nav-mesh? You can't. You can only define pre-created areas and turn them on or off but you can't dynamically add an obstacle (example: an explosion launch a rock on the ground on a random position and you want it to block the player).
The UI system: horrible, unusable and, as far as I know, still bugged (there is a famous bug with gives you a spike lag due to an error with the Garbage Colletor).
 so simple, so bugged.

The animations: with mecanim something is better now but legacy animations are troublesome: working with states and scripts it's a pain.
My past project Waamy, for example, uses many animations on multiple elements and have them working correctly it's damn hard.
I can continue forever.

The problem/solution: the Asset Store
At the contrary of many other engines if you miss a functionality you can create your own plugins. Doing it is fast and cool. And what about if you don't have the time or the resources to do so?
You can visit the Asset Store! Yay!

However the Asset Store is both the problem and the solution. It's a solution: if you miss something you can go to the store. it's a problem: you go to the asset store because something is missing.
Basically it sounds an excuse to me: something is missing? Go to the Asset Store! Something doesn't work or it's bugged? Press CTRL+9 (the Asset Store tab).

The more I use Unity and the more I have these feelings in contrast. Please don't get me wrong (this is for Unity developers): I still think the engine is great and I hope this criticism can be a constructive argumentation that leads to improvements of this engine because, so far, it's one of the best option for Indie developers.

Unity3D asset store

I want also talk about costs: Unity3D have one of the best price policy around the Internet for a game engine though I think inexperienced people should be aware of some facts. Example:

  • The free version have some important limitations. For example with the shadows: the free version provide only hard shadows.
  • The free version don't include a lot of mobile features. The mobile features have a separate cost (eg: the Android standard and Pro versions are two different licenses, as well as iOS and iOS Pro).
  • Most of all: whatever you miss in the engine you have to buy it on the Asset Store.

I think it's important to understand that in the Asset Store you find products made mostly by hobbist. Some are great, some are trash, many are medium but everyone of them share the same problem: what do you expect as support and/or quality of product of about 50$?

In my experience some of the plugins in the Store are fantastic but still limited and they serve as base for your modification. Again a problem/solution: plugins are open-source (free as in speech) and you can edit them. This means the time you save buying such product you spent on modifying it. For a larger company having a technician working on the problems of the engine and/or the plugins it's possible and maybe normal, but lesser studios or even single individuals can't afford to overcome these problems easily.

Final thoughts
In end does Unity really saves time? Is it really worth?
Most of all yes: the concepts, the realization of the engine itself and the freedom it gives you makes this product one of the best. Still... it's problems makes me wonder.

Up to you the last word.

English

1 comments

Who are you calling Hobbist scrub!

Add new comment

Comment Text

  • Allowed HTML tags: <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
To prevent automated spam submissions leave this field empty.
CAPTCHA
Answer the question and don't bother me with spam.