Unity Technologies ApS
Windows, Mac OS X, Xbox360, PS3, Nintendo Wii, iOS, Browser-based, Google Android
Languages Written In:
- User Reviews
Unity is a multiplatform game development tool, designed from the start to ease creation.
- Object-Oriented Design
- Plug-in Architecture
- Save/Load System
- Professional FPS controller ready to drop in (and tune)
- Streamed loading for the Unity Web Player
- Unity asset server / asset source code version control
- Cross-platform web player content, the Unity Web Player is available for both Mac OS X and Windows users and works with all browsers
- Standalone executables for both Mac OS X and Windows
- Mac OS X Dashboard Widgets
- iPhone Publishing is available as add-on product
- Streaming Asset Bundles: the ability to stream in any asset (terrain, mesh, etc) into the game.
- Asset Processing Pipeline: in larger projects, customizing the art pipeline to avoid repetitive steps becomes crucial. You can now complement Unity's famous asset importing pipeline with any additions you need to make it truly flow.
- Deferred Shading
- Extensible full-screen graphics effects (blur, motion blur, sepia, grayscale, more...)
- TrueType typography
- DirectX 9 and OpenGL rendering support
- Rendering with Shader Replacement: render the scene, replacing shaders of all objects. This makes it simple to make incredible eye-candy like depth-of-field, soft particles, thermal goggles, and more.
- Immediate Mode Rendering: a single function call can render any mesh anywhere, with full per-pixel lighting and custom shader support.
- Lens Flares
- Particle System
- Motion Blur
- Color correcting filter, grayscale, sepia, and twirl
- Skinnable in-game GUIs
- Lightmapping Beast-Lightmapping
- Projected planar
- Blob shadows
- Realtime Dynamic Soft Shadows
- Shadows are dynamic, optimized, and allow self-shadowing (only available in Unity Pro)
- High Level
- Unity comes with an extensive library of 40 shaders including Vertex Lit, Diffuse, Glossy, Bumped, Bumped Specular, Reflective, Self-illuminating, a Toon (Cell) shader, and 9 different particle shaders.
- Everything falls back gracefully on low-end GFX cards.
- Parallax shaders
- GLSL support (in addition to Cg)
- Mesh Loading
- Skinning Native importing from Cinema 4D, Maya, Cheetah3D, Blender. Also support for Collada, FBX, 3DS, OBJ formats
- Occlusion Culling Umbra occlusion culling
- Keyframe Animation
- Skinned character animation
- Procedural Characters and Animation: the ability to stitch multiple body parts into one character, and reassign bones to different characters. The entire skinned animation system is now scriptable.
- Rendering Terrain engine with full editor tools, dense foliage, lightmapping and more
- Basic Physics
- Collision Detection
- Rigid Body
- Vehicle Physics
- Powered by the PhysX Engine, which also supports particle physics
- Cloth simulation
- Build on Raknet
- Supports .NET library and asynchronous WWW API
- Multiplayer Networking (advanced NAT punch-through, delta compression, easy to set up)
- 2D Sound
- 3D Sound
- Streaming Sound Streaming video and audio Based on FMOD, includes sound effects (Reverb Zones, Various Filters: Low Pass Filter, High Pass Filter, Echo Filter, Distortion Filter, Reverb Filter, Chorus)
- Editor provides zero-cost asset pipeline: save a file and it updates automatically
- Editor Extensibility: Create completely custom editor windows, and entirely new tools and workflows.
- Asset Server that provides version control capabilities for Unity projects
- Optimized for use with large projects New Server view integrated into the Unity user interface
- Updates, commits, and graphical version comparisons are all performed inside the Unity editor. Open Source Asset Server
- The enterprise-level database PostgreSQL powers the Unity Asset Server Asset Server offers multi-platform support
- Install the server on either Mac OS X or Linux
- Procedural tree creator
- Beast Lightmapping
- Complete scripting documentation
- Source-level debugging
|License Name||Price in $US||Source Code Included?||Additional information|
- Unity 3 Blueprints - A Practical Guide to Indie Games Development
- Professional Unity and C#: Multi-Platform 3D Game Development
- Game Development with Unity
- Unity 3D Game Development by Example Beginner's Guide
Not really that great
There is a lot fuss about Unity. But is it really worth that hype?
I can tell you, it is not.
You can compare Unity with Apple. On the first sight all looks great and super easy. But if you go deeper, you'll be in trouble.
Recently, Unity is trying to bait new costumer with some new fancy water graphics and better post processing effects. They want to look like UDK or Cryengine, but they clearly fail here. Its not nearly that good. Just take a look at the terrain, without any shaders. Looks completely dated. And the beast lightmapping in Unity is not that great as they want to make you believe. There are no radiosity normal maps, which results in not functional normal maps within the backed shadows... Its just flat there...
Soft shadows looks low res. There is no native pathfinding, AI editor, visual scripting editor, node based shader editor and the lists goes on. The technologie is really behind of time.
And with every new version, you will get a even messier piece of software. Just take the new 3.2 version, with dozens new bugs like broken core shaders, water issues and so on... They concentrate more on new marketing effective features, instead of fixing well known issues.
For a newbie, Unity seems to be a reasonable way to create games. Make some hills with the terrain brush, throw some trees into the scene and add the first person controller. Voila! You just created your first game. Thats one of Unity's main selling argument. The low learning curve. But that doesn't means, it is easy to use at all.
If it comes to bigger and more complex games with modern graphics, Unity has its limits.
You need to fix problems, looking for third partie stuff ( which you have to pay extra for) to get things working, instead of concentrating on the main part... Creating games...
So you wanna make a simple destructible environment? Prepare for weeks of headache. With UDK for example you get stuff like this out of the box.
There are a plenty of good engines with sophisticated tools like UDK. THe learning curve may higher. But if you get used to it, it will be much easier to create good games.
Unity is just a money printing machine. Take a look at they newest business model, the assets store and you will see what these guys heading for..
Its also the most expensive indie engine at the moment.
And by the way... It's interesting that over a dozen 5 stars reviews were posted on a single day (13th Februar) Don't get fooled and waste your money.
There is other engine.
Comparing features and direction of the company I prefer Shiva. 1500$ to get shadow, reflection, play movies: that is alot of $. Add 400$ if you want to do it on iPhone. You need to sell alot of 1$ games to be profitable. All thoses features are included in Shiva for way less$.
The Good, The Bad & The Ugly
I was making a rather simple 5 level game with Unity which took 4 months to complete. At first everything seemed to be straight forward, but as the game matured so did the problems.
PHYSICS. The major problem is performance. There are just too many bottle-necks when using advanced physics like aircraft or space simulation.
THE TERRAIN EDITOR is an outdated feature-set entirely but good enough for very basic games that do not rely on destructable terrain etc.
OPTIMIZATIONS for models can work most of the time, but caution when doing so.
THE TREE EDITOR requires some skill to take advantage of. Personally, I gave up on that part, I'm not patient enough for that but seen good trees made with it. So definately a good thing.
INDIE vs. PRO
Now, this is the part where it gets complex with judging the engine, and likewise other game engines that follow the same model of distripution.
THE FREE VERSION
The indie version, affectionatly labeled Free version, is a taster, nothing more nothing less. If you plan making a game that sells, don't even think of using Unity Free edition. The Unity team will decline your game if you wish to sell it via Unity Union and will tell you that your game doesn't match the quality of their other titles available. In other words, the high demand for visual effects is something that you can not achieve with Unity Free edition. Take bloom effects, motion blur, hdr lighting, glass refraction, water refraction etc... I learned it the hard way.
End of story.
THE PRO VERSION
Unity Pro has some appealing features the free version lacks. This version can help you "fake" a triple A game. But all games created with even Unity Pro feel the same. It's the overall characteristics of Unity game engine, that is, you get the feeling, something isn't right here when playing. You can tell that a game was created with Unity in many ways.
LIGHTING a unity scene is a frustrating experience when it comes to the point keeping your normal maps stay tuned. Shaders in Unity, if you need them (who doesn't) prepare yourself for a hell of ride. You will get nowhere without specialized third party tools which....cost real money and mostly you will have to digg deep into your wallet.
UNITY CONTENT PIPELINE
We all know DAZ-3D, right?
Not being sarcastic, but I have a feeling Unity is heading the same direction.
If so, and the signs are written all over the wall,
Unity 3D - Make Games Without Coding.
At least referencing that, Unity's commitment is to take the pain of game development. That is actually their slogan.
Unity Pro is rather high-priced for the features it has. Enhancing Unity 3D with extra content via the asset store is a model of delivery, you either like or don't. I cannot speak for others, but personally I find this system is getting too much DAZ-3D style. Mass production of games to be flooded all over regardless.
JUST A NOTE
Unity started out good but is heading in the wrong direction. This process cannot be stopped now. It's too late for that. That is the sad thing about Unity.
I have reasons to doubt that Unity will be the future of game development.
Getting over it can be hard for most people using Unity, but it's the only way to fly.
I finally have started after my Unity journey to learn XNA 4.0
I now feel confident learning and using the right tool-set to develop games.
2 Stars, keep them tight, you may not get more in the future.
Great Engine? Yep, go ahead screw yourself over.
I ended up getting it at first I thought it was a great investment but then I realiized that I was ripped off!!! If you notice all theese guys posted the same day!!! They didn't look at the engine objectively they just wanted it to be #1. The only thing good about this engine is the community,
I've used Unity for a year and a half as a paying Indie and iPhone Basic user with several released titles. Initially I was very impressed with the tool, mainly regarding ease of use. Being a C# developer in my dark, dark past I was able to get up to speed quickly with the Unity API. I like having the ability to compile DLL's that can then be accessed by a main game logic script within the Unity IDE. The asset pipeline is quite simply the best I've ever worked with before Torque3D's new and improved pipeline. I was able to create a complete app with graphics, sounds, and physics in literally 5 hours. As RAD's go, it's definitely the simplest one out there.
When, however, one eventually moves on to much more complex apps, Unity's simplicity in design becomes a hindrance. It is designed with a single app per project approach. To reuse assets or code from one app in another, the assets and scripts must be copied to the new project, and the code will need to be adapted to the new app. To code even moderately complex game logic scripts in a truly modular way is impossible with Unity. Also, a lot of time is spent adjusting settings and dragging script, textures, etc. around in the attributes editor. And while the asset pipeline is its greatest feature, it is not without its flaws. Many a time one will be forced to repeatedly tweak settings for assets then re-import them one at a time.
While the engine can be used for 2D games, it is not well suited for them. There is no built-in sprite engine, so a script-based community developed solution must be used. While it works in the strict sense of the word, it is buggy and has performance issues. Even simple 2D display can be a problem since the graphics must be applied as textures to flat quad polys. This can lead to camera blurring and compression artifacts.
A huge drawback to Unity is its visual quality. It is extremely dated, and the lack of shadows in the Indy version is a serious flaw. While possible, it's difficult to convey quality with these shortcomings. Extra effort is needed by way of art assets. Blob drop-shadows can be done in script, but they are limited, buggy, and crippling performance-wise (especially for iPhone). Shadow maps can be done, but must be baked in an external tool like 3DS Max or Maya. A lot of visual features we’ve come to expect, and indeed receive in other engines are notably lacking in Unity.
Another major issue for Unity is its terrain engine. The entire system is very buggy and has huge, game and editor crashing memory leaks. It does not support internal terrain paging. A community-based solution was developed, but it's currently private (only its creator has it), and it crashes the engine due to the aforementioned memory leaks. Terrain size is also quite small in Unity, and noticeable visual problems crop up when attempting to scale it up to compensate.
I usually don't like to weigh in on cost when evaluating tools, but in this case it's hard not to. To get the shadows added to and ad (mandatory splash screen) removed from Unity, one would have to spend $1,500. It's not unattainable, but it's hardly indie-friendly. To add iPhone support to that is an additional $1,500. Again, not unattainable, but if the end goal is simply iPhone development, the final price is $3,000. There is no iPhone-only solution as Unity only offers it as an add-on. Being that Unity Technology charges an additional $15,000-30,000 for Wii development, it's safe to say they would also charge extra for an Android add-on (however this is speculation as of this review).
I think Unity is a nice tool for prototyping, educational purposes, or maybe artists who want to create simple exhibitions of their work. Clearly it can and has been used for many games including a couple by big name companies, but in my opinion there are far better tools, especially for indies.
bad incomplete, ugly quaility graphics...
i am completely in agreement with "Guest" user and jeejo user, it is the reason that i am selecting a engine between UDK, CryEngine, or Simply a rendering engine (Ogre 3D)...
Unity 3d Is very incomplete, and if u talk about graphic quality (IN 3D) simply suck...
Unity "Game Engine"
There are too many issues with Unity(Im using 3.5.1, but the same can be said about previous versions). It is an EXTREMELY unstable program and the constant crashes, glitches and freeze ups will have you cursing everything that is Unity. Tech support? good luck with getting them to figure out whats wrong. Your money and time will be better spent working with a competent engine. Please avoid at all costs!
And that other reviewer is correct in his observation. Doesnt it seem weird that a Huge amount of 5 star reviews praising Unity were all posted in clumps on the same days? HMMMMMM....is this the Unity "Team" writing fake reviews to try to trick people into thinking Unity is a good program......I think sooooooooo. Buy an engine that was made BY GAME DEVELOPERS- FOR GAME DEVELOPERS, Unity is not this!
Not really that good.
I have put Unity 3 through a thorough round of testing, and here's what I have to say about it. I'll start with the positive notes. Unfortunately, there aren't many of them:
* The performance seems to be better than previous versions, and the frame rates were consistently smooth.
* The character animation was good, and a special system placed the player's feet on the terrain at the right positions.
And now for my list of negatives:
* The demo shows no significant gameplay. I would expect more interaction, possibly with enemy characters, to demonstrate that the engine really can be used to make a game and not just a demo.
* There were texture clamping problems in the demo artwork.
* There was bad popping in the tree rendering system when the engine switches between models and imposters. More mature systems use a gradual transition so they don't look so bad. Also, the imposters were not a good match for the tree models, with things like drastic color changes exacerbating the popping issue.
* The tree imposters do not function correctly and are often rendered at bad angles. This looked very strange as the camera moved closer and further from imposters.
* There were severe rendering bugs, such as one that caused distant trees to be rendered in front of trees closer to the camera.
* The SSAO feature appears to be completely broken. I could not get it to work at all.
* The far clipping plane was set way too close and often cut off terrain in an ugly way.
* The terrain was very unimpressive and appeared to use quite dated technology.
* I saw no dynamic shadows whatsoever. The player and physics objects did not cast shadows at all, even with all graphics settings at maximum.
* The shaders were extremely simple and showed absolutely no modern effects. The engine is using very old technology.
* The dynamic lighting was very unimpressive and limited, and it did not cast any shadows.
* I saw no buoyancy implemented in the physics system. Objects went right through the water surface like it wasn't there and didn't react to the water with any kind of floating behavior as would be expected.
* The rigid body physics did not seem to work very well and did not have a natural look. Many objects could be shot, but did not react in any way when I ran the player into them.
* The camera collision was broken and allowed the camera to enter inside geometry in a lot of places.
* It takes a long time to create a new project, to open existing projects, and to play levels in a standalone environment. These kinds of things should be instantaneous.
* I found the editor to be very buggy. I experienced several "fatal errors" that forced the editor to quit, and I lost my work in the process. This is unacceptable in a production environment.
* Overall, I found the editor to be clunky and unintuitive, and I found it difficult to do simple things that should be easy. Managing assets among multiple projects was a serious pain.
* The Unity community is full of unhelpful wannabes who are immature and unknowledgeable.
BOTTOM LINE: Unity is not really that good of an engine. Version 3 is not a big improvement over earlier versions. It is still dated, buggy, and very expensive for what you get. They have a new slogan on their website, "The most powerful engine this side of a million dollars." Don't buy this marketing crap, because if they really believe this, then they are on drugs. If that statement were true, then some other engines like C4, Leadwerks and Esenthel should be charging a million dollars, because they're all far more powerful. Unity is starting to resemble GarageGames in all the wrong ways by turning themselves into a giant marketing machine and neglecting to actually do any good engineering. Don't drink the Kool-aid.
Unity is good engine. But very big minus is it doesnt support C++ :(
If it will support c++ it will be very, very good engine.
It have nice level editor, script editor, easy.
Still needs to mature
Updated review Unity 3.0:
This game engine provides stability, a decent amount of features and tools, support of well known 3D file formats, multiplatform support, an integrated scene editor, tree builder, optimization for large scenes, understandable scripting language and a sober packaging system.
There is a huge amounts of tutorials and examples with source codes on how to start projects from scratch - even in the API, and a very frequent community.
The game engine does currently lack some features, but Unity has a feedback system which allows to vote for the most wanted. This system makes the engine somehow future-proof, however development takes very long.
There are a couple of things which need to be considered though:
- Terrain doesn't support Normal Mapping or Parallax Mapping for Textures, which make outdoor scenes look completely outdated
- Normal Maps in shadows (no matter if baked with lightmapping or using realtime shadows) will vanish and the surface looks completely flat
- No ocean shaders (Shiva3D has really nice ones)
- Pathfinding is not included. There is a community project available, which offers A* and a small scripting interface. This however is a bad excuse for Unity not to implement it themselves or to claim "our engine is universal therefore we don't need to implement it". If you want to go commercial with the available community solution you must pay money to the individual who implemented this algorithm, therefore it's not part of the Unity product!
- The included UniSciTE scripteditor is a joke, it's practically only a better "Notepad", nothing more. It isn't even able to do intendentations automatically, and its default font looks like a "Comic" font which is ridiculous to work with. You can't even change the default font, because the editor doesn't save the settings.
- The 3 available scripting languages make interoperability, collaborating and debugging much more of a headache since everyone uses his own language. You are forced to rethink and mess around with unwanted languages during a conversion process (you'll need to do that, because many 3rd party scripts are in C# instead of UnityScript). Circumstances caused by a bad design choice. One language would have been enough.
- Bloom, dynamic shadows, waterplanes with refraction only available in Pro-Version
Finally I got the impression this engine is not made for large games, but rather small games only (Web, iPhone, Puzzle). That doesn't mean you can't get a greater game done, but there are limitations...
Good, but review are a bit too positive i think
Well, i just finished my first game with unity and i liked working with it very much, but the review here read like if this is the non plus ultra engine on the market, and that is not true.
My bad experiences are: The editor is mac only. There is no pathfinding. There is no linux client. Although the general support of the company is great, the update philosophy is quite questionalbe. In my actual case, there was a known bug in the engine, which lead to crashes after a few minutes in my case - and even more quite critical bugs like not saving preferences on iphone, but at least there where workarounds. It took them weeks to bring out a fixed version, and all they said is "it will be out soon, we don't know when". I am also working with shiva, the biggest competitor at unity, and i have seen a few critical bugs (although they never affected me) which were fixed just after a few days.
So as a conclusion: If you are a beginner, or just want to set up a quick prototype (although serious games are quite possible), this is the engine to go for. If you have no problem with learning a new programming language, need a linux client, pathfinding, or just don't want to end up waiting weeks for the company to fix a critical bug, there are better alternatives out (if you have other options then just a mac)
After having finished my second game, i once again am stuck because of a engine bug and cannot publish it. My bugreport more then 3 weeks ago (yes, the game is finished since then, theoretically) is not commented, emails suggesting that i pay for support if they think it is not a bug (which is pretty obvious) are beeing ignored... and yes, there is another bug which does not let your game shine in the best light (sound is not playing, randomly), which was already known on my first review, still not fixed. Unity turns out to have the worst support ever, they are just ignoring you, and now working for a half of year with it, i stumbled over so many problems that you will only notice, if you dig deeper, that i can not suggest it to anyone who wants to earn money with his games.
Pathetic fps on screen
what I can do with BLITZ 3D (lots of bone weighted animated models) with a DECENT fps on screen WITH
old computer and OLD cards!!! (THIS IS IMPORTANT),is IMPOSSIBLE with Unity 3D.
the developers Refuse to provide windows demos samples in showcase to test with windows!!!
For Indie Developers: write your own engine while making your game
yes that is it !!! for indie developer, nothing better then writing your own simple engine for your game. just dont write engines features. write features that you need for your game. that is what i used to do when i wrote my first iphone game.
for pro: Unity is good for prototyping only. if you want to make a serious game forget about it..
I recommend reading this article:
Very capable engine, but consider your options.
The most recent versions of Unity are very capable and have addressed many of the issues present in earlier versions of the software.
The engine offers a good feature set -- noting that the pro version (currently priced at $1,500) is required for some rendering features that will be important to many games -- and is easy to use.
As another recent review said, if it's good enough for Rovio's "Bad Piggies" it's obviously at least worthy of consideration. I've personally found Unity a pleasure to work with, and would recommend it to anyone for whom the features meet your needs.
That being said, it's worth considering other options carefully. There are numerous very capable engines available, many of which have comparable feature sets and similar pricing. Consider what features you need access to, the platforms you are planning to target, and how much you intend to spend.
Good for prototyping, but not for real development
Unity is a great engine in many respects, but it is very presumptuous about what its users want to do with it, making its usefulness limited.
I'll start with some positives.
Perhaps Unity's strongest point is its ease of use. Once you get to know it (and that doesn't take long) you can whip out simple games in no time at all. Importing models, textures and sound effects is trivial, and for the most part it just works.
Unity is also very high quality and has many features. Just look at the list in the description. There's not much more to say about it. For most things, if you want it, Unity has it.
Unfortunately, in those cases that Unity doesn't have it, you're in trouble.
Unity's greatest weakness is the lack of source code. This presents several major issues:
a) With tricky bugs, it's very difficult or even impossible to tell whether the problem is with Unity or your own code.
b) If you have determined that the problem is with Unity then you are stuck until there is an update. You can ask Unity to fix the problem specifically for you, but that's a less than ideal solution.
c) You cannot make any changes to the engine. If Unity does something under-the-hood that's not practical for your game then you are stuck with it.
A related issue is that, because Unity handles all the compilation for you, you cannot use standard debugging tools, and you can forget about things like breakpoints. Unity does allow you to see the value of (some) variables at run time, but for the most part debugging must be done, tediously, through console output.
Finally, the Unity asset server makes development by large teams incredibly difficult. The Unity scene files are in a closed binary format, and create lots of binary metadata files that make version control of non-code files impossible. Unity does provide their own proprietary asset server (at additional cost), but even it cannot version control the binary files. The result is that "version control" for your scene data boils down to "use theirs or use mine". If multiple people are working on a single scene then someone has to lose their changes.
Overall I think that Unity is an above average engine, but lacks those critical features that make it feasible for large scale development.
Easy and Stable, but lacking a good feature set.
This engine, though more like a editor, i find incredibly easy to use for many different reasons. I strongly recommend Unity for anyone who is a mac user, and no matter if a hard-core game developer, or simply a student working on a project, or an artist wanting to be able to show real samples of work, this is a great engine for anyone.
One main difference is that this engine is not a source-code engine like most others, but the lack of source code only increases the ease of use. And although the only method of programming generally available is Java, C#(mono), or Boo (python), it is incredible how far this engine can be expanded without any source code, which is very often under-estimated by users of source code engines.
The community is simply awesome, and the support is great, and with whatever scripts and tutorials or demos Unity has, even a complete beginner wanting to begin game design can get the hang of it easily.
One thing to keep in mind is the differences between Indie and Pro versions. for example, the pro version comes with more shaders, windows support, and the ability to add C++ plugins. This is an important thing to keep in mind when considering unity for a project, if you are a beginner and you are low funded, then Indie is probably right for you. If you are good on funding, and you want those extra shaders and features not available in the Indie version, then go pro.
For beginners in general, Indie would be best to start with, then as you get better with the engine, upgrading to pro may be the right choice, depending on your needs.
For more advanced developers, Pro is a great choice.
Unity is great for developers of all experiences.
Unity runs relatively stable, handling a high poly-count at acceptable framerates. It has never crashed on me.
A feature that is really great and convenient is the ability to import models from most 3D modelling programs and textures from photoshop with no exporting necessary. It makes handling different file formats a lot easier.
Additionally, another great feature is to only keep one project, and create Mac, Windows, and Web ports with only a click of a button, and no modifications to the project at all. I also like being able to test the whole game and modify script as i find issues as i play, all within the editor, no compiling or further loading required.
Features that i would like to see added is a Windows editor, and more console support.
It is important to note that the engine has quite a weak feature set, especially the indie version. It lacks features found in most other engines such as Decals, Soft Particles, and any AI system is barely existent. The particle systems are awful. However, it is possible for the user to add these features manually it seems, though it is a big pain.
Compared to most other engines in the price class, this is probably the best choice for any mac-based developer.
However, if there was an option to rate value, i would give it a 4/5. The indie version is well priced but lacks features found in many engines of the same price class. Pro adds great features, but in my opinion is relatively overpriced.
Additionally, this engine can even be fun to use once you have the basics down.
"Good for smaller games"
I've gone from not liking Unity at all, to finding it acceptable. it's really better for small game development, especially web games since the browser is pretty accepted. It also runs well on older computers. The composite style programming is hard to get a good game design in my experience. You mainly attach scripts to objects that have a start, update, and whatever other functions you want to add. New users will find that easy, but OO programmers will be somewhat turned off by it. It does the job, though. The community is active, but there are a lot of people trying to make a buck on an addon. I chose it because the web version is available on Kongregate so it's easy to upload a small finished game and the editors are really nice.
Really good, but very expensive engine
I have been working with Unity for over a year since 2.6 and when the indie version became free to use for commercial games. I have developed quite a few games and explored many of the high and lows.
On the graphics side, please don't expect a high quality game being done here, many of it's features are already in many open source engines and sometimes Unity falls short compared to them (specially the indie version). So on the graphical part I suggest you lower your expectations.
What makes Unity really shine is the game editor. From a person with experience with code-based engines, this was quite a change and I liked it a lot once I got used to it. The game editor is one of the most complete I have ever seen.
About stability, I have little issues, but in performance I see some problems. One is that a game, even though it's simple, it can have low framerate compared to other engines that are code based (as expected), so you have to be careful when your project is of high scale. and the Audio engine sometimes has some serious bugs when the game is very dynamic. Other than that, you're good building web and Windows/Mac games with the indie version
My biggest gripe is with the licenses. the pro version is very expensive for a small developer and the extra features compared with the indie version are not worth it ($1500 for shadows and some extra effects? No way) not to mention the extra to pay to publish for other devices. And I can't make plugins for the indie version that are c++ hard coded. Either you buy the pro version, or make a full c# plugin that uses class libraries instead of native code.
Unity is a good game engine and editor, but don't ask too much of it.
I've been using this engine for about 8 months,and it's very interesting.
What I found out is, that this engine has many features, is fast and very stable.
This engine is very good to start with if you have zero level design and 3D programming experience, because there are many tutorials of which show you how to get started with things.
Furthermore there are tons of tutorials which show you the engine's features and graphics capabilites.
My two cents
The main drawback of Unity is it's lack of some must have features. Believe or not, but Unity does not have pathfinding. Yeah, there are some community made solutions for this, but that is no excuse - modern game engine must have built in pathfinding and not force user to reinvent the wheel.
Other major drawback of unity is non-existent cut-scene editor. Without it, it is impossible to create ingame cut-scenes, or one must use animation editor instead, which is similar to nailing with bare hand.
Overall, Unity undoubtfully has a good potential, but it is still not suitable for all types of games. That's why (because of built-in pathfinding and matenee) I was forced to move to UDK. May be one day, when Unity become full featured engine, I'll come back.
The best indie engine out there.
I have tried all top 10 engines listed in Devmaster database. Both Free and paid ones.
Theirs two that got our attention DXstudio and Unity.
I first tried DXstudio because, back in 2007, Unity was only MAC, and i was a PC only dev.
DXstudio is and still very easy to code and very easy to use, compared to Unity but it lacks in performance, speed, features and the asset integration does not work 100%. Unity is a bit harder than DXstudio, but have a better Editor, Asset integration, platform/deployment support that DXstudio. It is more professional, and could save you lots of headaches and reduce dev time compared to any other engine.
Unity is a more serious Engine than DXstudio.
DXstudio is the perfect engine for prototyping ideas, but no for a complete game, unless you don't care about rendering speed and features, go ahead, otherwise Unity still the best choice.
If you are an experienced programmer or designer, you will find Unity very very easy.
If you are new in game programming and or game industry, you will find it very difficult, not because Unity is a very hard game engine( in fact unity is very easy ), because you need to know the basis of game creation therms. Like prefabs, classes, material, object/gameobject, components, etc.
Theses stuff are very common in all modern engines.
With Unity, once you discover the relationship between gameObject, gameComponent, how to access them, you will see that Unity doesn't have any secrets, the rest are a bunch of classes and methods to help you out make things really quick.
One thing to keep in mind about the scripting style in unity, is that is very low level scripting in fact unity scripting is 100% Object Oriented. The whole idea is that you have resources in memory and the only way to access them (anywhere in your code) is by reference the instances with the right type.
Also try to use the Editor hierarchy functionality, i have made things with Unity that are impossible or ultra difficult with any other engine.
One thing that i really like about Unity is that everything works as expected! Asset integration for example, i have a bunch of broken 3d models that do not work on any other engine, they all works in Unity.
5 out of 5
I don't really need to list all the features, you already knows.
Unity have lots of next gen feature, a bunch of post process effects, SSAO, lots of nice shader effects ready to go.
The profiler, the 3ds max mixer like Animation system, its not only powerful it lets you tweaks your keyframes, add events on any property of a component! Customize your keyframe tangents, deform your curves, wow! We are using it to make our own in-game cinematics!
Deploy apps, are one feature that makes unity stand from others, Make ONE, ONE game in your PC or MAC, and deploy to all kind of platforms and browsers with a 1 click solution, no need to change anything, just a click. Well to be more specific, File Menu, Build Settings, chose your target OS and build type, click build.
Easy of Use:
Editor 10 out of 5.
The fac that you could create public variables and get asses to theses variables in your editor( in a drag and drop way) makes Unity editor very powerful and unique.
Programming side of Unity (C#/UnityScript)
For me 5 out of 5, but guys new to Unity (beginners) it could be very hard, i already explained why.
Stability & performance:
5 out of 5
stability, 10 out of 5.
Nothing to say about that, everything work as expected.
Only few crashes, and most of the time was my antivirus blocking unity activities.
4 out of 5, because there's a small thing that are missing ( and will be ready this year btw) but from now they are missing; Rendering optimizations.
Despite the fact that Unity is extremely fast (one of faster indie engine) it could be even faster. Rendering optimization, like PVS, occlusion culling are missing.
But theses stuff will change with Unity3, support for Beast offline bake rendering! Yes, you hear BEAST, the one used in Unreal-Engine/GameBryo and in alsmot any next gen title. Beast cost 100 000$ per title! Seamless auto-switch to lightmaps for far lights sources! Umbra Occlusion Culling. Umbra cost 30 000 per title! Deferred rendering and Forward rendering for PC and consoles! Android support! Google Native Chrome (no plugin required)!
And tons of new features.
10 out of 5
Nothing to say about that.
Unity community is a monster community, very large and very helpful.
Theirs a chat room for Unity were you ask a question and you got an answer few seconds later.
Unity developers are very active in the forums, also in the Unity chat room.
My last word:
Unity 2.6 have completely 100% Visual Studio support!
Unity 3 will have live dev debugging with break points and live watchers! Woot!!!! Do not miss that one!
I would like to end this by telling you that I'm a beta user of Unity3 with Android support. Unity3 have a tons new features/stuff not listed in the public Unity3 announce page. If you don't get Unity3 when it comes out this summer, I'm not joking, you are a blind dev and you are missing one of the best engine ever made!
Hope you like Unity as much we like it, and sorry for my bad English, I'm a French Canadian. :)