Unity (game engine)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Unity
Unity 3D logo.png
Developer(s) Unity Technologies
Stable release 4.3.4 / January 2014
Written in C++ is used for the core engine, which is exposed through C#, in which the IDE is programmed.[1]
Operating system
Available in English
Type Game creation system
License

Proprietary
Unity Pro: cost aprox. $1,500 USD or $75/month subscription for a minimum of 12 months

Unity Free: free, but limited in features and watermarked for web, only available to private and small business
Website www.unity3d.com

Unity is a cross-platform[2] game engine with a built-in IDE developed by Unity Technologies. It is used to develop video games for web plugins, desktop platforms, consoles and mobile devices. It grew from an OS X supported game development tool in 2005 to a multi-platform game engine.[3]

Features[edit]

Rendering[edit]

Gone Home is a 2013 video game built with the Unity engine

The graphics engine uses Direct3D (Windows, Xbox 360), OpenGL (Mac, Windows, Linux), OpenGL ES (Android, iOS), and proprietary APIs (consoles). There is support for bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture and full-screen post-processing effects.[4]

Unity supports art assets and file formats from 3ds Max, Maya, Softimage, Blender, modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks and Allegorithmic Substance. These assets can be added to the game project, and managed through Unity's graphical user interface.[5]

The ShaderLab language is used for shaders, supporting both declarative "programming" of the fixed-function pipeline and shader programs written in GLSL or Cg. 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 performance.[6]

Scripting[edit]

The game engine's scripting is built on Mono, the open-source implementation of the .NET Framework. Programmers can use UnityScript (a custom language with ECMAScript-inspired syntax, referred to as JavaScript by the software), C#, or Boo (which has a Python-inspired syntax).[7] Starting with the 3.0 release, Unity ships with a customized version of MonoDevelop for debugging scripts.[8]

Asset Tracking[edit]

Unity also includes the Unity Asset Server - a version control solution for the developer's game assets and scripts. It uses PostgreSQL as a backend, an audio system built on the FMOD library (with ability to playback Ogg Vorbis compressed audio), video playback using the Theora codec, a terrain and vegetation engine (which supports tree billboarding, Occlusion Culling with Umbra), built-in lightmapping and global illumination with Beast, multiplayer networking using RakNet, and built-in pathfinding navigation meshes.[9]

Platforms[edit]

Pid is a Unity engine game available on OS X, PlayStation 3, Windows & Xbox 360.

Unity supports deployment to multiple platforms. Within a project, developers have control over delivery to mobile devices, web browsers, desktops, and consoles.[10] Unity also allows specification of texture compression and resolution settings for each platform the game supports.[10]

Currently supported platforms include BlackBerry 10, Windows 8, Windows Phone 8, Windows, Mac, Linux, Android, iOS, Unity Web Player, Adobe Flash, PlayStation 3, Xbox 360, Wii U and Wii. Although not officially confirmed, Unity also supports the PlayStation Vita as can be seen on the games Escape Plan and Oddworld: New 'n' Tasty.

Upcoming platforms include PlayStation 4 and Xbox One.

Physics[edit]

Unity also has built-in support for Nvidia's (formerly Ageia's) PhysX physics engine (as of Unity 3.0) with added support for real-time cloth simulation on arbitrary and skinned meshes, thick ray casts, and collision layers.[11] Unity 4.3 introduced built-in support for the Box2D physics engine for 2D games.[12]

Versions[edit]

The first version of Unity was launched at Apple’s Worldwide Developers Conference in 2005. It was built to function and build projects on Mac computers and garnered enough success to continue development of the engine and tools for other platforms.[13] Unity 3 was released in September 2010 and focused on introducing more of the tools that high-end studios have at their disposal. This allowed the company to capture the interest of bigger developers while providing independent and smaller teams with a game engine in one affordable package. The latest version of Unity, Unity 4.0, was released in late 2012, and includes additions such as Mecanim animation and DirectX 11 support.

Unity 3.5[edit]

Shelter was built in Unity 3.5.7.

Unity 3.5 was one of the largest releases for the Unity development platform and added new features and improvements to existing technology.[14] These included the Shuriken particle system, navmesh for pathfinding and obstacle avoidance, linear space (gamma correct) lighting, HDR rendering, multi-threaded rendering, light probes, Google Native Client deployment, re-written occlusion culling, built-in level of detail support, Adobe Flash Player add-on preview, GPU profiler, and directional lightmaps.[15]

Unity 4[edit]

Unity 4 was announced on June 18, 2012 and includes several new additions to the technology in the initial Unity 4.0 release. The Unity 4 release cycle will, like previous releases, include several updates with additional features over the course of its lifespan, such as the new Retained GUI, which is due in a future 4.x update. It was released on November 14, 2012.[16]

New features include DirectX 11 support and Mecanim animation. Mobile graphics enhancements include real-time shadows, skinned mesh instancing, the ability to use normal maps when baking lightmaps and a refined GPU profiler. Furthermore, the Adobe Flash deployment add-on has also been released with Unity 4.0. While deployment has been possible for those with the Unity 3.5 compatible beta tool, the final release of the deployment add-on will require Unity 4. Unity 4.2 is rumored to feature shadow support for the free version. However, it has some limitations such as restricted to only one directional light and "hard" shadows.[17]

Unity 4 also includes a new deployment option to publish games to Linux desktops.[18][19][20] While the deployment add-on can potentially work with various forms of Linux, development is primarily focused on Ubuntu for its primary release.[21] This deployment option will be provided to all Unity 4 users at no additional cost.[22] Engineers from Unity work with Ubuntu in Canonical's team for games.[23] Since version 4, Unity is working in collaboration with Facebook to launch an improved Unity experience on the social platform[24] through its Unity Web Player.

Unity2D[edit]

The Unity 4.3 release on November 12th 2013 introduced native 2D support.[25] The release includes support for sprites, improved animation support, 2D Physics and more.[26] The development environment is similar to the 3D game engine.[27]

Mecanim[edit]

Mecanim is Unity's animation technology that has been in development for years, first by the company of the same name, and then at the Unity Canada offices following the acquisition. The technology is built to bring fluid and natural motion to characters with an efficient interface. Mecanim includes tools for creating state machines, blend trees, IK rigging, and automatic retargeting of animations from within the Unity editor.

Additionally, an array of retargetable animations were available in the Unity Asset Store upon launch of the tool. Many of these animation files use motion capture and are provided at no cost by Unity Technologies.

Other enhancements[edit]

  • Shuriken particle system supports external forces, bent normals and automatic culling
  • 3D texture support
  • Navigation: dynamic obstacles and avoidance priority
  • Major optimizations in UnityGUI performance and memory usage
  • Dynamic fonts on all platforms with HTML-like markup
  • Remote Unity Web Player debugging
  • New Project Window workflows
  • Iterative lightmap baking
  • Refined component-based workflows
  • Extensible inspectors for custom classes
  • Improved Cubemap import pipeline
  • Geometry data improvements for huge memory and performance savings
  • Meshes can be constructed from non-triangle geometry—render points & lines efficiently
  • Search, live preview and buy Asset Store assets from the Project Window

Community[edit]

The Unity community has around 2 million registered developers as of January 11th 2014.[28]

Asset Store[edit]

Launched in November 2010, the Unity Asset Store is a resource available within the Unity editor. The store consists of a collection of over 4,400 asset packages, including 3D models, textures and materials, particle systems, music and sound effects, tutorials and projects, scripting packages, editor extensions and online services.[29]

Licensing[edit]

There are two main licenses for developers: Unity Free and Unity Pro.[30] Unity Pro is available for $1500. Unity Free is free as long as the user is not a commercial organization with annual gross revenues in excess of US$100,000, or an educational, academic, non-profit or government entity with a total annual budget for the entire entity in excess of US$100,000.[31]

The Pro version has additional features, such as render-to-texture, occlusion culling, global lighting and post-processing effects. The Free version, on the other hand, displays a splash screen (in standalone games) and a watermark (in web games) that cannot be customized or disabled.

Both Unity Free and Unity Pro include the development environment, tutorials, sample projects and content, support via web forums, wiki access, and future updates in the same major version (i.e. buying Unity Pro 4 gets all future Unity Pro 4.x updates for free).

In May of 2013 Unity Technologies announced that Unity for Android, iOS, Windows Phone 8, BlackBerry 10, and Windows Store are included with the free Unity license.[32] A Unity Pro license will still be required to purchase an Android Pro or iOS Pro license. However, as of April 23rd, 2013, Unity dropped Flash support because they don't see Adobe being committed to the development of it in the future.[33]

Source code, PlayStation 3, Xbox 360, Wii U and Wii licenses are negotiated on a case by case basis.[34]

Education[edit]

Unity provides free online training on their website.[35] Documentation for the game engine classes and interfaces are also available online.[36]

Manual[edit]

The Unity Manual is split into multiple sections.

  • User Guide - Discusses the interface and core building-blocks.
  • Unity Basics - Provides beginner information on getting started with the engine.
  • Reference Manual - Details on working in-depth with various aspects of Unity.
  • Scripting Reference - Details of the scripting API that Unity provides with class interfaces and example code.

See also[edit]

References[edit]

  1. ^ Meijer, Lucas. "Is Unity Engine written in Mono/C# or C++?". Retrieved 2011-04-26. 
  2. ^ GNU/Linux is not supported
  3. ^ http://slashdot.org/topic/cloud/how-unity3d-become-a-game-development-beast/
  4. ^ "Using DirectX11 in Unity 4". Unity Technologies. Retrieved 19 February 2013. 
  5. ^ "How do I import objects from my 3D app?". Unity Technologies. Retrieved 19 February 2013. 
  6. ^ "Shaders". Unity Technologies. Retrieved 19 February 2013. 
  7. ^ "Using Scripts". Unity Technologies. Retrieved 19 February 2013. 
  8. ^ "Getting started with Mono Develop". Unity Technologies. Retrieved 19 February 2013. 
  9. ^ "Asset Server (Pro Only)". Unity Technologies. Retrieved 19 February 2013. 
  10. ^ a b "Unleash your game with effortless deployment to 10 global platforms". Unity Technologies. Retrieved 19 February 2013. 
  11. ^ "Physics". Unity Technologies. Retrieved 19 February 2013. 
  12. ^ "Unity 2D and 3D". Unity Technologies. Retrieved 28 February 2014. 
  13. ^ "Unity - Fast Facts". Retrieved 5 February 2013. 
  14. ^ http://www.lynda.com/Unity-D-training-tutorials/1243-0.html
  15. ^ "Unity 3.5". Retrieved 23 September 2012. 
  16. ^ "Unity 4.0 Launches". MarketWire. Retrieved 5 February 2013. 
  17. ^ "What's new in Unity 4?". Unity Technologies. Retrieved 19 February 2013. 
  18. ^ "Introducing Unity 4 - Unity Videos". Video.unity3d.com. Retrieved 2012-11-07. 
  19. ^ "Unity 4 Details". Forum.unity3d.com. Retrieved 2012-11-07. 
  20. ^ "Unity 4 - Linux Export - Unity Videos". Video.unity3d.com. Retrieved 2012-11-07. 
  21. ^ "Linux Support :D". Forum.unity3d.com. Retrieved 2012-11-07. 
  22. ^ "UNITY: License Comparison". Unity3d.com. Retrieved 2012-11-07. 
  23. ^ three engineers from games company Unity 3D
  24. ^ http://www.marketwatch.com/story/unity-technologies-releases-facebook-functionality-update-to-unity-4-2013-03-26
  25. ^ http://blogs.unity3d.com/2013/11/12/unity-4-3-2d-game-development-overview/
  26. ^ http://www.youtube.com/watch?v=MoZlMGU99qk
  27. ^ http://unity3d.com/pages/2d-power
  28. ^ https://unity3d.com/company/public-relations
  29. ^ https://store.unity3d.com/
  30. ^ "Unity License Comparison". Unity Technologies. 
  31. ^ "Unity Software License Agreement 4.x". Unity Technologies. 23 July 2013. Retrieved 5 September 2013. 
  32. ^ "Putting the power of Unity in the hands of every mobile developer". Unity Technologies. 
  33. ^ "Sunsetting Flash". Unity Technologies. Retrieved 23 April 2013. 
  34. ^ "UNITY". Unity Technologies. 
  35. ^ http://unity3d.com/learn/live-training/
  36. ^ http://docs.unity3d.com/Documentation/Manual/index.html

External links[edit]