User:Matthewpruitt/Unity (game engine)

Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Inc.'s Worldwide Developers Conference as an OS X-exclusive game engine. As of 2018, the engine had been extended to support more than 25 platforms. The engine can be used to create three-dimensional, two-dimensional, virtual reality, and augmented reality games, as well as simulations and other experiences. The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering and construction.

Several major versions of Unity have been released since its launch. The latest stable version, Unity 2018.2.13, was released on October 18, 2018.

History
The Unity game engine launched in 2005, aiming to "democratize" game development by making it accessible to more developers. The next year, Unity was named runner-up in the Best Use of Mac OS X Graphics category in Apple, Inc's Apple Design Awards. Unity was initially released for Mac OS X, later adding support for Microsoft Windows and Web browsers.

Unity 2.0 launched in 2007 with approximately 50 new features. The release included an optimized terrain engine for detailed 3D environments, real-time dynamic shadows, directional lights and spotlights, video playback, and other features. The release also added features whereby developers could collaborate more easily. It included a Networking Layer for developers to create multiplayer games based on User Datagram Protocol, offering Network Address Translation, and State Synchronization and Remote Procedure Calls.

When Apple launched its App Store in 2008, Unity quickly added support for the iPhone. For several years, the engine was uncontested on the iPhone and it became well-known with iOS game developers.

Unity 3.0 launched in September 2010 with features expanding the engine's graphics features for desktop computers and video game consoles. In addition to Android support, Unity 3 featured integration of Illuminate Labs' Beast Lightmap tool, deferred rendering, built-in tree editor, native font rendering, automatic UV mapping, and audio filters, among other things.

In 2012 VentureBeat wrote, "Few companies have contributed as much to the flowing of independently produced games as Unity Technologies. ... More than 1.3 million developers are using its tools to create gee-whiz graphics in their iOS, Android, console, PC, and web-based games. ... Unity wants to be the engine for multi-platform games, period." A May 2012 survey by Game Developer magazine indicated Unity as its top game engine for mobile platforms. In July 2014, Unity won the "Best Engine" award at the UK's annual Develop Industry Excellence Awards. In November 2012, Unity Technologies delivered Unity 4.0. This version added DirectX 11 and Adobe Flash support, new animation tools called Mecanim, and access to Linux preview. Facebook integrated a software development kit for games using the Unity game engine in 2013. This featured tools that allowed tracking advertising campaigns and deep linking, where users were directly linked from social media posts to specific portions within games, and easy in-game-image sharing. In 2016, Facebook developed a new PC gaming platform with Unity. Unity provided support for Facebook's gaming platforms, and Unity developers could more quickly export and publish games to Facebook.

The Verge said of 2015's Unity 5 release: "Unity started with the goal of making game development universally accessible.... Unity 5 is a long-awaited step towards that future." With Unity 5, the engine improved its lighting and audio. Through WebGL, Unity developers could add their games to compatible Web browsers with no plug-ins required for players. Unity 5.0 offered real-time global illumination, light mapping previews, Unity Cloud, new audio system, and the Nvidia PhysX3.3 physics engine. The fifth generation of the Unity engine also introduced Cinematic Image Effects to help make Unity games look less generic. Unity 5.6 added new lighting and particle effects, updated the engine's overall performance, and added native support for Nintendo Switch, Facebook Gameroom, Google Daydream VR, and the Vulkan graphics API. It introduced a 4K video player capable of running 360-degree videos for virtual reality. However, some gamers criticized Unity's accessibility due to the high volume of quickly produced games published on the Steam distribution platform by inexperienced developers. CEO John Riccitiello said in an interview that he believes this to be a side-effect of Unity's success in democratizing game development: "If I had my way, I'd like to see 50 million people using Unity – although I don't think we're going to get there any time soon. I'd like to see high school and college kids using it, people outside the core industry. I think it's sad that most people are consumers of technology and not creators. The world's a better place when people know how to create, not just consume, and that's what we're trying to promote."

In December 2016, Unity Technologies announced that they would change the versioning numbering system for Unity from sequence-based identifiers to year of release to align the versioning with their more frequent release cadence; Unity 5.6 was therefore followed by Unity 2017. Unity 2017 tools featured a real-time graphics rendering engine, color grading and worldbuilding, live operations analytics and performance reporting. Unity 2017.2 underscored Unity Technologies' plans beyond video games. This included new tools such as Timeline, which allowed developers to drag-and-drop animations into games, and Cinemachine, a smart camera system within games. Unity 2017.2 also integrated Autodesk's 3DS Max and Maya tools into the Unity engine for a streamlined asset sharing in-game iteration process.

Unity 2018 featured the Scriptable Render Pipeline for developers to create high-end graphics. This included the High-Definition Rendering Pipeline for console and PC experiences, and the Lightweight Rendering Pipeline for mobile, virtual reality, augmented reality, and mixed reality. Unity 2018 also included machine learning tools, such as Imitation Learning, whereby games learn from real player habits, support for Magic Leap, and templates for new developers.

Overview
Unity gives users the ability to create games and experiences in both 2D and 3D, and the engine offers a primary scripting API in C#, for both the Unity editor in the form of plugins, and games themselves, as well as drag and drop functionality. Prior to C# being the primary programming language used for the engine, it previously supported Boo, which was removed in the Unity 5 release, and a version of JavaScript called UnityScript, which was deprecated in August 2017 after the release of Unity 2017.1 in favor of C#.

The engine has support for the following graphics APIs: Direct3D on Windows and Xbox One; OpenGL on Linux, macOS, and Windows; OpenGL ES on Android and iOS; WebGL on the web; and proprietary APIs on the video game consoles. Additionally, Unity supports the low-level APIs Metal on iOS and macOS and Vulkan on Android, Linux, and Windows, as well as Direct3D 12 on Windows and Xbox One.

Within 2D games, Unity allows importation of sprites and an advanced 2D world renderer. For 3D games, Unity allows specification of texture compression, mipmaps, and resolution settings for each platform that the game engine supports, and provides 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.

, Unity engine has been used to create approximately half of new mobile games on the market and 60 percent of augmented reality and virtual reality content. Notable games made in Unity include Pokémon Go, Super Mario Run, Cities: Skylines, Hearthstone, Ori and the Blind Forest, Cuphead, Firewatch, Job Simulator, Hollow Knight, and the Monument Valley (video game) series.

Supported platforms
Unity is a cross-platform engine. The Unity editor is supported on Windows and macOS, with a version of the editor available for the Linux platform, albeit in an experimental stage, while the engine itself currently supports building games for more than 25 different platforms, including mobile, desktop, consoles, and virtual reality. Platforms include iOS, Android, Tizen, Windows, Universal Windows Platform, Mac, Linux, WebGL, PlayStation 4, PlayStation Vita, Xbox One, 3DS, Oculus Rift, Google Cardboard, Steam VR, PlayStation VR, Gear VR, Windows Mixed Reality, Daydream, Android TV, Samsung Smart TV, tvOS, Nintendo Switch, Fire OS, Facebook Gameroom, Apple's ARKit, Google's ARCore, Vuforia, and Magic Leap.

, Unity had been used to create approximately half of mobile games on the market and 60 percent of augmented reality and virtual reality content, including approximately 90 percent on emerging augmented reality platforms, such as Microsoft HoloLens, and 90 percent of Samsung Gear VR content. Unity technology is the basis for most virtual reality and augmented reality experiences, and Fortune said Unity "dominates the virtual reality business". Unity Machine Learning Agents is open-source software whereby the Unity platform connects to machine learning programs, including Google's TensorFlow. Using trial and error in Unity Machine Learning Agents, virtual characters use reinforcement learning to build creative strategies in lifelike virtual landscapes. The software is used to develop robots and self-driving cars.

Unity formerly supported other platforms including its own Unity Web Player, a Web browser plugin. However, it was deprecated in favor of WebGL. Since version 5, Unity has been offering its WebGL bundle compiled to JavaScript using a 2-stage language translator (C# to C++ and finally to JavaScript).

Unity was the default software development kit (SDK) used for Nintendo's Wii U video game console, with a free copy included by Nintendo with each Wii U developer license. Unity Technologies called this bundling of a third-party SDK an "industry first".

Licensing model
During its first ten years as a product the paid versions of Unity were sold outright; in 2016 the corporation changed to a subscription model. Unity has free and paid licensing options. The free license is for personal use or smaller companies generating less than $100,000 annually, and the subscriptions are based on revenues generated by the games using Unity.

Unity Asset Store
Creators can develop and sell user-generated assets to other game makers via the Unity Asset Store. This includes 3D assets and environments for developers to buy and sell. In 2018, the store added Rokoko's motion-capture library. Unity Asset Store launched in 2010. By 2018, there had been approximately 40 million downloads through the digital store.

Other uses
In the 2010s, Unity Technologies used its game engine to transition into other industries using the real-time 3D platform, including film and automotive. Unity first experimented in filmmaking with Adam, a short film about a robot escaping from prison. Later, Unity partnered with filmmaker Neill Blomkamp, whose Oats Studios used the engine's tools, including real-time rendering and Cinemachine, to create two computer generated short films, Adam: The Mirror and Adam: The Prophet. At the 2017 Unite Europe conference in Amsterdam, Unity focused on filmmaking with Unity 2017.1's new Cinemachine tool. In 2018, Disney Television Animation launched three shorts, called Baymax Dreams, that were created using the Unity engine. Automakers use Unity's technology to create full-scale models of new vehicles in virtual reality, build virtual assembly lines, and train workers. Unity's engine is used by DeepMind, an Alphabet Inc. company, to train artificial intelligence. Other uses being pursued by Unity Technologies include architecture, engineering, and construction.

Unity-chan
On December 16, 2013, Unity Technologies Japan revealed an official mascot character named Unity-chan (ユニティちゃん), real name Kohaku Ōtori (大鳥 こはく) (voiced by Asuka Kakumoto), in 2013. The character's associated game data were released in spring 2014. The character was designed by Unity Technologies Japan designer "ntny" as an open-source heroine character. The company allows the use of Unity-chan and related characters in secondary projects under certain licenses. For example, Unity-chan appears as a playable character in Runbow.