Unity 3D Review
I work for Rezzable, a company dealing in 3D content and entertainment. This review of Unity 3D is based on a week’s worth of examination and testing. It should not be considered a conclusive opinion based on the production of a final 3d game product, but the beginning opinion of a reasonably-well educated creative.
I am reasonably knowledgeable in the following areas (reasonably means I have a passable skill level in these areas, but should not be considered and expert):
3D modeling, including making meshes designed to be animated using skeletal systems.
UV skinning and texturing, including using several textures to combine basic color maps, shine, effects, and the like.
Adding a skeleton to a mesh, balancing and adjusting, and finally animating a mesh using a skeleton.
Particle and special effects use in a 3d game environment.
Sound effects and music.
Level and setting construction (mostly for SecondLife, but I have experience with other 3D game engines)
Scripting and Programming (multitude of languages, but currently expert level in LSL for SecondLife)
Storyboarding and fictional writing.
I purchased Unity 3D 2.5 Indy version for $199 on the first day of it’s release. After downloading the file and a momentary delay trying to enter the purchase key while the Unity servers were down, I was able to get full access to my new design software. I will review and comment on each of the listed features below:
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.
Integrated Editor: “Everything is done through Unity’s simple user interface. Thousands of hours of thought and spit-polish have gone into it.”
This is probably one of the best features of Unity. While the editor does not do everything, it does combine external editors for scripting, textures, and model editing very cleanly. It allow you to easily sort all of your assets and files in one place, acting as one of the most organizable interfaces I’ve ever seen.
Graphical Power: “Unity has a highly optimized graphics pipeline for both DirectX and OpenGL.”
And uses them well. I was able to have very high resolution meshes (such as poser 5 models) on the screen without significant framerate drop. It’s a very professional engine, and does run on multiple computer configurations. It seems capable of turning off and on features and the computer can handle them, even in the web player.
Asset Importing: “All major file formats are supported, and almost any art application can be used with Unity.”
To point out how easy it is to import assets: I dropped a model that was boned and animated into the asset folder of my Unity project, and it converted it in mere seconds. I then dropped it into my scene, and with a single script consisting of just a half dozen lines of code, got it to loop the animation and move around the scene. There was no special modifications. No checking Z rotations. No checking the rotation of bone sets to make sure they did not crumple up my model like a paper in the wastebasket. It just worked.
I was able to adjust the size of the model for the scene with a single modifier that worked for the model AND the skeleton.
Textures, including such “oddities” as TGA, imported fine.
Scripts are text files, and edited in Scite in the windows version of Unity 3D. You can redirect it to other editors if you are so inclined.
One-Click Deployment: “Unity supports a wide range of platforms when you release your work to the come alive.”
And they all just WORK. Again, web deployment, streaming web deployment, windows, mac. I have been reading the forums, and have even found that the web deployment can run network code to a server, allowing fully streaming games from a website that interact with other players.
Unity 3d is not perfect, but is VERY close to it. I did find a few issues I did not like. For example, it cannot accept command line input for programs you create. This means that full featured screen savers are NOT possible for the PC. Oh, you can work around that, but it seems a serious missing link.
Wii Publishing: “The industry’s most popular console just got a lot easier to develop for…”
I have no idea about this. Contact Unity at sales@unity3d.com for more info.
iPhone Publishing: “Revolutionary game development comes to a revolutionary device.”
And costs an additional $399.00, minimum. Was not reviewed.
Shaders: “Unity’s shader system combines ease of use, flexibility and performance.”
Indy does come with 40 built in shaders and allows you to program in more, but Indy does not allow ‘postprocessing’ shaders. That needs Pro version. Postprocessing allows such things as reflection, refraction, glow, and the like.
Terrains: “Vast, densely foliaged landscapes that run smoothly on low-end hardware.”
Tried it, it’s true, so long as you keep your tree and plant models reasonable. They use a billboarding effect that makes an image of the tree to be used at far distances, and it works WELL!
Networking: “Go from single-player to full realtime multiplayer games.”
I have not looked closely at this yet, but it IS a full features network system, and also can access HTTP servers to connect with PHP or other scripted websites. This allows the downloading of images, for example, for display in the 3D interface. Their website contains a ton of network examples dealing with multiple player situations, allowing you to learn from pre-built code.
Physics: “Bring your interactions to life with the built-in Ageia PhysX™ physics engine.”
I have not examined this closely, but seems to be a reasonable physics engine that can pull it’s own weight. (pun intended)
Audio Video: “Mix realtime 3D graphics with streamed audio and video.”
Sound effects and music playback. Worked. Nuff said.
Scripting: “Blazing fast .NET-based JavaScript and C#, with rich libraries and great documentation.”
Scripting, on the other hand, is not so easy. Good news is, you can learn any of the THREE languages that are built into Unity: C#, JavaScript (Also called UnityScript), and Boo. Bad news? Even the built in scripts are scattered across the available options, so you might have one tutorial for how to make a character move in JavaScript, and another on how to make your gun shoot said character in C#. Good luck learning to script from the ground up here, it’s kind of a madhouse. I generally advise using JavaScript, since it SEEMS to be easier of the three. (Feel free to call me a Fool for my opinion. I’m used to it.)
Unity Asset Server: “The Unity Asset Server is an add-on product which adds version control to Unity.”
It should be noted this is only for Unity PRO, and also costs an additional $499.00
Shadow Light: “Realtime soft-shadows and baked lightmaps, spiced up with halos and lens flares.”
You can bake lightmaps into terrain, but realtime shadows are for PRO only. You can use cookie shadows projected by lamps to fake ‘spot shadows’ easily. Lens flares from lights are also quite usable in the Indy version.
Documentation: “We provide you with step by step tutorials, documentation and example projects.”
I was able to learn the Unity interface in a few days. It has a wonderful set of video and text tutorials and help files.
The forums are a bit aggressive at times, but have been helpful with my questions. Overall, you’re fine while using them so long as you follow the basics and search for enough info to ask an intelligent question. Asking “How do you network an MMO in Unity?” is asking for a whipping.
Final Opinions:
I have used several environments for design work in the last few years: SecondLife by Linden Lab, Shiva 3D by StoneTrip, and Unity 3D by Unity. Of the three, Unity allows the greatest versatility with the least amount of frustration.
I have never used anything that just let me WORK before, without jumping through some kind of hoop. Scripting issues aside, I just drop in the models and textures I need, add some sounds, and click Build and it makes the final file for your 3D game. Where I come from, features can never excuse an interface that fights you. This interface stays out of your way and salutes when you give it an order.
Foolish Frost
www.Rezzable.com
135212–4976–$unity_3d_review_998.pdf (88.8 KB)