Jump to content

Unity (game engine)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by NeARAZ (talk | contribs) at 07:53, 11 December 2008 (Licensing). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Unity
Developer(s)Unity Technologies
Stable release
2.1 / July 24, 2008
Operating systemMac OS X (creation and deployment), Microsoft Windows (deployment only), Wii, iPhone (deployment with special license)
TypeGame engine
LicenseProprietary
Websiteunity3d.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.

Although the editor only runs on Mac OS X, it can produce games for Mac, Windows, Wii[1], or iPhone[2] platforms. It can also produce browser games that use the Unity web player plugin.

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

Major Features

  • Integrated development environment with hierarchical, visual editing, detailed property inspectors and live game preview [4]. Due to ease of use and speed of development, Unity is 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].
  • Automatic asset importing - assets load into Unity and automatically imported, and are re-imported if the asset is updated [8]. Assets are created externally, in various 3D modeling, graphics, and audio software. These assets are then imported and assembled into a game using Unity. Although many of the most popular 3D modeling applications are supported by Unity, its integration with Maya, Blender, Cinema 4D, and Cheetah3D are the most complete.
  • 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 full version control solution for all game assets and scripts and optimized for multi-gigabyte projects with thousands of multi-megabyte files.
  • 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].

Criticism

  • Currently there is no Windows version of Unity's IDE, as Unity Technologies seeks to focus on completing the Unity featureset. A Windows IDE was demonstrated at Unite 2008, and is scheduled for the 2.5 release.
  • 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.
  • Unity's IDE has limited tools available for debugging scripts; for example, there is no way to stop execution of scripts in the event of an infinite loop.
  • Unity is not compatible with some external source control management software.

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.

Full release notes can be found here.

Unity Asset Server

The Unity Asset Server is a full 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 both Mac OS X and Linux.

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 gallery.

Licensing

There are two main licenses: Unity Indie ($199), and Unity Pro ($1499) [17]. The Pro version has additional features like render-to-texture, postprocessing effects, and the ability to build standalone Windows games. 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 [18].

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

References

  1. ^ "Unity to Support Wii Console as Authorized Middleware Provider". Gamasutra.
  2. ^ "Features: iPhone". Unity Technologies.
  3. ^ "Apple Design Awards 2006 winners". MacNN.
  4. ^ "Features: Fully Integrated Editor". Unity Technologies.
  5. ^ "Tale of Tales: The Graveyard post mortem". Tale of Tales.
  6. ^ "Unity 1.5.1 review". Creative Mac.
  7. ^ "Features: Deployment". Unity Technologies.
  8. ^ "Features: Asset Importing". Unity Technologies.
  9. ^ "Features: Graphical Fidelity". Unity Technologies.
  10. ^ "Features: Shaders". Unity Technologies.
  11. ^ "Features: Advanced Physics". Unity Technologies.
  12. ^ "Features: Scripting". Unity Technologies.
  13. ^ "Features: Audio and Video". Unity Technologies.
  14. ^ "Features: Terrains". Unity Technologies.
  15. ^ "Features: Unity Asset Server". Unity Technologies.
  16. ^ "Cartoon Network working on browser-based kids' MMO game". Macworld.
  17. ^ "Unity License Comparison". Unity Technologies.
  18. ^ Cite error: The named reference iphone was invoked but never defined (see the help page).