Unity 3 Is a Great Free Game-Building Tool

11.11.2010
is a powerful, full-featured game design tool, and it's free. (Some advanced features are reserved for the commercial Pro version). Unity is not a "learn to program games" tool, nor is it something designed to produce only small games with simple behaviors and effects. Unity can be, and is, used to make top-flight games including Tiger Woods PGA Tour Online and Batman: Streets of Gotham. Unity 3 is probably as easy to use as it can be (given how much fine control and detail is needed to make some types of games), but it is not going to let you go from "I have a really cool idea" to finished game with a few quick mouse clicks. It is best used by people who are already familiar with game design methodology and terms, as well as 3d graphics concepts including meshes, renderers, and textures.

The particulars of the interface as discussed in have changed little. Version 3's improvements are less visible, consisting of major enhancements to the engine and to the target platforms supported with the commercial version (especially the iPad.) Even following Unity 3's tutorials, well-written though they are, can be a slow process, because there is a tremendous amount to review, click, set, or change in order to accomplish seemingly simple tasks. On the upside, much of the complexity is both hierarchical and copyable--that is, once you've built a very complex thing made of multiple nested sub-components, it's very easy to reuse 99% of the work to make something else merely by changing a few variables here and there.

Object behaviors are controlled by scripts, and Unity 3 gives you multiple languages: , JavaScript, and Boo (a dialect of Python). All three languages can be used in the same project, so you can use a script written in CSharp that handles, say, collision behavior and another script written in JavaScript that controls ammunition supply. I was especially impressed by how the graphical front end interacts with scripts; many of the variables and values in a script can be set by dragging an appropriate object to a window, or entering a value, rather than manually editing the script itself (though you can do so if you want). You can also access .NET libraries which grant database, HTML, or other function support, so you are not working with a crippled or limited set of features.

One important note: While Unity 3 is a great tool for assembling all the pieces for a game, it is not a tool for creating those pieces. Other than the sample files included for tutorials, you will need to create or buy the 3D models, textures, sounds, fonts, and other things which go into making a game. Maya is a high-end commercial choice for 3D modeling, and is well known for creating human figures; freeware packages to look at include Art of Illusion and Daz Studio.

Unity includes the NVidia PhysX engine, and includes such useful extras as advanced cloth rendering and animation, and even special models for wheels to better simulate the effects of traction in your racing games. The Pro version has even more features; you can see the version comparisons at the . Unity Pro starts at $1500.00, and for $400.00 more, you can also .

As it's a free program, there's no reason not to download Unity 3 if you are interested in game design. That said, it is really only going to be useful for people who have the necessary background knowledge in 3D graphics, animation, and programming. Also, for all but the very simplest games, a team of developers is likely to be necessary.