Why Choose Unity 3D? (Part 1)

(by Ian Strandberg)

As I’m making the transition to independent game development as a career I’m faced with plenty of choices about how I’m going to shape my future from here on out.  One of the things I know about myself is that I can’t be comfortable without backup.  Another thing I’ve learned is that delegation and collaboration are powerful and important skills to capitalize on.  Thus, when seeking a proper platform for plying my pending pastime I was looking for something that would allow me to be a one-man-band while also sharing the love (work) when the opportunity presents itself.  Also, I have a base of existing skills in on the 3D side that I knew I’d want to take advantage of.

All these factors made Unity 3D an attractive choice for me and after spending about a month with it, I’m committed.  Here’s how the pairing works out:

Unity 3D and the One Man Band
I’d better go to the hospital because I’m about to gush like my water just broke.

Coding
Unity is an organized, accessible platform brimming with tools that make getting up and running pretty easy.  It features three scripting languages: UnityScript (similar to ActionScript — however, they just call it JavaScript), C# and Boo.  I started out with UnityScript which is easy to come up to speed with.  However its lax structure and typing policies and strange gotchas (“unit” gets recast to “int” without any warning) led me to ditch it and switch to C#.  I’m much happier with C# even though it has a few gotchas of its own.  Right now I’m learning everything I need to know about vanilla C# at the c-sharp station.

Graphics
I can’t speak exhaustively about the graphics pipeline at this point but the platform goes out of its way to save you steps.  When importing new image assets it automatically prompts you for a texture type and gives you a set of tools for common image processing tasks.  Want to automatically move that height map to the alpha channel?  Done.  Is that a bump map?  Want to tweak it? Done.  Don’t have a bump map?  Want to make one from the grayscale version of your diffuse map?  Done.

Also, it should suffice to say that it imports MAX files directly.  Animation and all.  Seriously, what other app works directly with Max files except 3D Studio Max!?

Reference
While I’ve found instances obsolescence in the online documentation, its an extensive and valuable resource.

Community
Between the online docs, the official forums, the popular IRC channel, the wiki, unity answers and the scores of high quality tutorials and videos to be found online, the unity community is overflowing with support and potential collaborators.

Prefabs and Scripts
For the independent developer that understands its not always a good idea to reinvent the wheel, the extensible, encapsulated and sharable nature of unity assets is a huge boon.  Many of the over 1/2 million Unity licensees share their work, free of charge with others.  There are AI scripts, 3D models, and extensions of every sort.  If you want to go-paid the pot gets even juicier.  What’s more, if you want to GET PAID, Unity offers an accessible model for you to sell your own goodies in their asset store.

To Be Continued …

In the next edition I talk about platforms, cost, 2D games and in the third installment I’ll get together with my partner Greg Greene and we’ll talk about some of the down sides of relying on Unity.

Tags: , , ,

Leave a Reply