Unity, the commercial game engine, has long been a development tool of interest to those working not only in games but other live and interactive 3D visuals. In contrast to traditional tools, Unity is simply friendlier to designers and programmers alike. It’s what you’d imagine a game engine to be. After first attracting developers on the Mac, Unity has since become a powerhouse on various platforms.
Interestingly, it’s all powered by the open-source Mono, a free version of Microsoft’s .net platform (and a painful reminder to Java advocates of what Java could have been). You can read a case study of that success story; PDF only.
The coming Unity 3 upgrade is looking significant.
- Greater cross-platform support. Not only Mac, Windows, and Wii, but Xbox 360, iPhone, iPod touch, and Android. (I saw an impressive Android presentation at a panel in Berlin in May; it’s looking like you’ll get the same stuff the iOS developers get, but perhaps with even better multi-platform support. It could mean the iOS version improves, simultaneously, as that work under the hood gets done.
- Unified editor. Open one editor, target any and every platform.
- New visual goodness. Superb lightmapping for more realistic lighting effects, lens effects, and deferred rendering for improved performance mean better-looking visuals. The lightmapping uses the lovely Beast.
- Source-level debugging. Thanks to improvements in Mono’s MonoDevelop code environment, you can finally debug your scripts with ease.
- Occlusion culling for improved performance across platforms, mobile and otherwise.
- Easier asset management via a new browser.
You can see an overview of the features that most excite the dev team on the Unity blog. One big highlight, as I profiled today on Create Digital Music, is new real-time audio capabilities. That could make this an ideal choice for people looking to build innovative new audiovisual environments.
Other key features the dev team spotlights: powerful, easier new scene editing, surface shaders and easy shaders for OpenGL ES, XOR operator in JavaScript, easier math functions, and lots more — see the post.
All in all, it clearly makes Unity the environment to beat for independent creators.
I still long for a strong game engine choice for open source developers, one built on higher-level languages than C++ (or using something other than primitive bindings to C++ engines). I don’t imagine such an environment would ever compete directly with something like Unity; on the contrary, it could go in other, more experimental directions than a more comprehensive commercial game would, and conceivably be more lightweight. PyGame, jMonkeyEngine, and the Blender Game Engine are a few examples that might fill the category; I’m curious if readers are using any of these (Unity included).
Unity’s place is clear, though; they’re doing extraordinary work and reshaping the notion of what a game engine is. Stay tuned for that version 3 release.
Unity 3 Coming Soon [New features, available for preorder]