Unity (game engine)

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Unity
Image:Unity-game-engine-logo.jpg
Developed by Unity Technologies
Latest release 2.5 / March 18, 2009
Operating system Microsoft Windows, Mac OS X (creation and deployment), Wii, iPhone (deployment with special license)
Type Game engine
License Proprietary
Website unity3d.com

Unity is an integrated authoring tool for creating 3D video games or other interactive content such as architectural visualizations or real-time 3D animations. Unity is similar to Director, Blender game engine, Virtools or Torque Game Builder in the sense that an integrated graphical environment is the primary way of authoring the game.

The editor runs on Windows and Mac OS X and can produce games for Windows, Mac, Wii[1], or iPhone[2] platforms. It can also produce browser games that use the Unity web player plugin, supported on Mac and Windows. The web player is also used for deployment as Mac widgets.

Unity was a runner-up in the Best OS X Graphics category in the 2006 Apple Design Awards [3].

Contents

[edit] Major Features

  • Integrated development environment with hierarchical, visual editing, detailed property inspectors and live game preview [4]. Unity is also sometimes used for rapid development and prototyping [5] [6].
  • Deployment as Microsoft Windows executable, Mac OS X executable, on the web (via the Unity Web Player plugin for Internet Explorer, Firefox, Safari, Mozilla, Netscape, and Camino), Mac OS X Dashboard widget, Wii executable and iPhone application [7]. Deployment to Wii or iPhone require the user to acquire separate licenses, which vary in price.
  • Automatic asset importing - assets load into Unity and automatically imported, and are re-imported if the asset is updated [8]. Although many popular 3D modeling applications are supported by Unity, its integration with Maya, Blender, Cinema 4D, and Cheetah3D are the most complete. Support for other formats varies.
  • Graphics engine uses Direct3D (Windows), OpenGL (Mac, Windows) and proprietary APIs (Wii) [9].
  • Support for Bumpmapping, Reflection mapping, Parallax mapping, dynamic shadows using shadow maps, render-to-texture and full-screen post processing effects.
  • ShaderLab language for using shaders, supporting both declarative "programming" of the fixed-function pipeline and shader programs written in Cg or GLSL [10]. A shader can include multiple variants and a declarative fallback specification, allowing Unity to detect the best variant for the current video card and if none are compatible, fall back to an alternative shader that may sacrifice features for broader compatibility.
  • Built-in Support for the Ageia's PhysX physics engine [11] (version 2.6.2).
  • Game Scripting via Mono [12]. Scripting is built on Mono, the open source implementation of the .NET Framework. Because of this, programmers can use JavaScript, C# or Boo (which has a Python-inspired syntax).
  • The Unity Asset Server - A version control solution for all game assets and scripts, using PostgreSql as a backend.
  • Audio system built on OpenAL library, with ability to play back Ogg Vorbis compressed audio.
  • Video playback using Theora codec [13].
  • A terrain and vegetation engine [14], supporting tree billboarding.

[edit] Criticism

  • Because it is not open-source, studios that use Unity are reliant on Unity Technologies to provide software updates to keep their games up-to-date with modern features unless they get a source code license.
  • The web player is not supported on Linux (typical of 3D players including Shockwave, but unlike Flash)
  • Since Unity saves object metadata in a binary format, it's not a solution that can be used for easy collaboration using external revision control systems, such as Subversion or Git (it would make branch merges impossible). Instead Unity requires use of the Unity Asset Server, which has an extra cost of $500 per seat.

[edit] History

Before commercial release, Unity was in several years in development. Gooball was released in March 2005 with a pre-release version of Unity.

  • June 2005, Unity 1.0.1 was released.
  • August 2005, Unity 1.1 release added building games for Windows, C/C++ plugin support and more.
  • December 2005, Unity 1.2 added image postprocessing effects, ragdolls, blob shadows, built-in first person controller, ability to extend editor with custom scripted wizards and more. Unity 1.2.2 release in March 2006 added support for building Mac Universal Binary games.
  • June 2006, Unity 1.5 release highlights were web browser plugin for Windows, new character animation system, Universal Binary editor, car physics and lightmap support. 1.5.1 release in September improved support for old graphics hardware and added Unicode support.
  • November 2006, Unity 1.6 added support for browser-to-game communication, streaming of levels in web games, Windows Vista support and more audio effects.
  • October 2007, Unity 2.0 added real time dynamic shadows support, the Unity Asset Server, video playback, a terrain engine, a DirectX 9.0 renderer (for Windows games), improved Game GUI creation, and improved Networking with NAT punchthrough.
  • July 2008, Unity 2.1 extended support for streaming assets, procedural characters & animation, scriptable asset processing pipeline and more.
  • March 2009, Unity 2.5 added support for development in Windows as well as massive changes to extend editor scripting

Full release notes can be found here.

[edit] Unity Asset Server

The Unity Asset Server is a version control solution for all game assets and scripts [15]. The asset server supports multi-gigabyte projects with thousands of multi-megabyte files. Import settings and other metadata are stored and versioned while updates, commits, and graphical version comparisons are all performed inside the Unity Editor. When files are modified, their status is updated instantly. The Unity Asset Server runs on the open source PostgreSQL database server and is available for Mac OS X and Linux. It lacks support for branches, and obviously for branch merges.

Asset server has an extra cost of $499 per copy of Unity, and requires the user to have a Unity Pro License.

[edit] Games

Some of the more notable released and in-development games created with Unity are:

More projects using Unity can be found in Unity's game list.

[edit] Licensing

There are two main licenses: Unity Indie ($199), and Unity Pro ($1499) [17]. The Pro version has additional features like render-to-texture and postprocessing effects. Unity Pro users can purchase an Asset Server client license, giving them the ability to communicate with Unity Asset Servers for $499. Unity Pro is also required for businesses with over $100,000 turnover/year. There is a free 30 day trial of Unity Indie.

Both Indie and Pro licenses include the development environment, tutorials, sample projects and content, support via forum, wiki, and future updates in the same major version (i.e. buying Unity 2.0 gets all future Unity 2.x updates for free).

Unity for iPhone is an add-on to existing Unity purchase, and comes at $399 for "Basic" version and $1499 for "Advanced" version [2].

Source code, educational and Wii licenses are negotiated on a case by case basis.

[edit] External links

[edit] References

  1. ^ "Unity to Support Wii Console as Authorized Middleware Provider". Gamasutra. http://www.gamasutra.com/php-bin/news_index.php?story=18840. 
  2. ^ a b "Features: iPhone". Unity Technologies. http://unity3d.com/unity/features/iphone-publishing. 
  3. ^ "Apple Design Awards 2006 winners". MacNN. http://www.macnn.com/articles/06/08/09/apple.design.awards.2006/. 
  4. ^ "Features: Fully Integrated Editor". Unity Technologies. http://unity3d.com/unity/features/. 
  5. ^ "Tale of Tales: The Graveyard post mortem". Tale of Tales. http://tale-of-tales.com/blog/the-graveyard-post-mortem/#chapter2. 
  6. ^ "Unity 1.5.1 review". Creative Mac. http://creativemac.digitalmedianet.com/articles/viewarticle.jsp?id=82608&afterinter=true. 
  7. ^ "Features: Deployment". Unity Technologies. http://unity3d.com/unity/features/deployment. 
  8. ^ "Features: Asset Importing". Unity Technologies. http://unity3d.com/unity/features/asset-importing. 
  9. ^ "Features: Graphical Fidelity". Unity Technologies. http://unity3d.com/unity/features/graphics. 
  10. ^ "Features: Shaders". Unity Technologies. http://unity3d.com/unity/features/shaders. 
  11. ^ "Features: Advanced Physics". Unity Technologies. http://unity3d.com/unity/features/physics. 
  12. ^ "Features: Scripting". Unity Technologies. http://unity3d.com/unity/features/scripting. 
  13. ^ "Features: Audio and Video". Unity Technologies. http://unity3d.com/unity/features/audio-and-video. 
  14. ^ "Features: Terrains". Unity Technologies. http://unity3d.com/unity/features/terrains. 
  15. ^ "Features: Unity Asset Server". Unity Technologies. http://unity3d.com/unity/features/unity-asset-server. 
  16. ^ "Cartoon Network working on browser-based kids’ MMO game". Macworld. http://www.macworld.com/article/134679/2008/07/cartoon.html. 
  17. ^ "Unity License Comparison". Unity Technologies. http://unity3d.com/unity/licenses. 
Personal tools
Languages