Unity (game engine)

Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Worldwide Developers Conference as a Mac OS X game engine. The engine has since been gradually extended to support a variety of desktop, mobile, console, augmented reality, and virtual reality platforms. It is particularly popular for iOS and Android mobile game development, is considered easy to use for beginner developers, and is popular for indie game development.

The engine can be used to create three-dimensional (3D) and two-dimensional (2D) games, as well as interactive simulations. The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering, construction, and the United States Armed Forces.

History
The Unity game engine launched in 2005, aiming to "democratize" game development by making it accessible to more developers. It was shown at Worldwide Developers Conference 2005 by Scott Forstall on Mac OS X. 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 (2007)
Unity 2.0 launched in 2007 with approximately 50 new features. DirectX support was added in 2.0. 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 a version control system to allow developers to collaborate more easily. It included a Networking Layer for developers to create multiplayer games based on the User Datagram Protocol, offering Network Address Translation, State Synchronization, and Remote Procedure Calls. When Apple launched its App Store in 2008, Unity added support for the iPhone. Unity 2.5, released in March, 2009, added editor support for Windows.

Unity 3.0 (2010)
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, a built-in tree editor, native font rendering, automatic UV mapping, and audio filters, among other features. 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.

Unity 4.0 (2012)
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 the 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.

Unity 5 (2015)
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, a new audio system, and the Nvidia PhysX 3.3 physics engine. The fifth generation of the Unity engine also introduced Cinematic Image Effects to help make Unity games look less generic. Unity began offering an experimental and unsupported Linux editor build in August 2015. 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, 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. Former 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."

Annual releases (2017–2023)
In December 2016, Unity Technologies announced that they would change the version 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 (later renamed to the Universal Render Pipeline ) for mobile, virtual reality, and augmented 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.

The C# source code of Unity was published under a "reference-only" license in March 2018, which prohibits reuse and modification.

As of 2020, software built with Unity's game engine was running on more than 1.5 billion devices. According to Unity, apps made with their game engine account for 50 percent of all mobile games, and are downloaded more than 3 billion times per month, and approximately 15,000 new projects are started daily with its software. Financial Times reported that Unity's engine "powers some of the world's most lucrative mobile games", such as Pokémon Go and Activision's Call of Duty Mobile.

In June 2020, Unity introduced the Mixed and Augmented Reality Studio (MARS), which provides developers with additional functionality for rules-based generation of augmented reality (AR) applications. Unity released Unity Forma, an automotive and retail solution tool, on December 9, 2020.

In June 2020, Unity announced the Unity Editor will support Apple Silicon. The first beta version shipped later that year.

Unity 2021 brought multiple new features such as Bolt, Unity's Visual Scripting system, a new multiplayer library to support multiplayer games, improved Il2cpp runtime performance, Volumetric clouds for the High Definition Render pipeline. Shadow caching and Screen Space Global Illumination for HDRP. For the Universal Render Pipeline it added new features such as point light shadows, Deferred renderer and general core engine improvements and fixes. Full Apple Silicon support was also added in Unity 2021.2. Unity Hub support for Apple Silicon editors arrived in version 3.0 in January 2022.

Changes to Unity 2022 were intended to improve productivity by reducing the time required to enter play mode and import files, and implementing visual search queries and multi selection in the package manager. For 2D projects, changes focused on accelerating core software, import, animation, and physics. Sprite atlasing was revised. Support for PSD extension files and layer management were added to the 2D PSD Importer, and Delaunay tessellation for 2D physics was added.

Unity 6 (2024)
On November 16, 2023, Unity announced that the next version of the engine would be called Unity 6, reverting to the previous version numbering convention. Unity 6 is planned for release in 2024, with planned features including new generative AI tools called Unity Muse and Unity Sentis. Unity 6 also makes use of the revised licensing agreement, including the "runtime fee".

Features
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# using Mono, 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 with the release of Unity 5, and a Boo-based implementation of JavaScript called UnityScript, which was deprecated in August 2017, after the release of Unity 2017.1, in favor of C#.

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.

Two separate render pipelines are available, High Definition Render Pipeline (HDRP) and Universal Render Pipeline (URP, previously LWRP), in addition to the legacy built-in pipeline. All three render pipelines are incompatible with each other. Unity offers a tool to upgrade shaders using the legacy renderer to URP or HDRP.

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

Supported platforms
Unity is a cross-platform engine. The Unity editor is supported on Windows, macOS, and the Linux platform, while the engine itself currently supports building games for more than 19 different platforms, including mobile, desktop, consoles, and virtual reality. Unity 2020 LTS officially supports the following platforms:
 * Mobile platforms iOS, Android (Android TV ), tvOS;
 * Desktop platforms Windows (Universal Windows Platform ), Mac, Linux;
 * Web platform WebGL;
 * Console platforms PlayStation 4, PlayStation 5, Xbox One, Xbox Series X/S, Nintendo Switch;
 * Virtual/Extended reality platforms Oculus, PlayStation VR, Google's ARCore, Apple's ARKit, Windows Mixed Reality (HoloLens ), Magic Leap, and via Unity XR SDK Steam VR, Google Cardboard.

Formerly supported platforms are Wii, Wii U, PlayStation 3, Xbox 360, Tizen, PlayStation Vita, 3DS, BlackBerry 10, Windows Phone 8, Samsung Smart TV, Gear VR, Daydream, Vuforia, Facebook Gameroom, and Stadia. 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".

In August 2023, Unity China announced that it would soon launch a Chinese edition called Tuanjie Engine based on Unity 2022 LTS, which includes support for Chinese platforms like Weixin Mini Game, OpenHarmony and AliOS.

Licensing
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, later raised to $200,000, and the subscriptions are based on revenues generated by the games using Unity. The subscription-based versions also include additional features geared towards professional projects, including analytics, performance analysis and error reporting, and Cloud Build among others.

The paid option, Unity Pro, had been required for developers that had over $200,000 in annual revenue, but this also could have been provided for console developers through a Preferred Platform License from the console manufacturer. The Unity Pro keys would have been part of the other SDK from the console manufacturer that the developer paid for. In May 2016, Unity released "Unity Plus", a mid-range tier between Personal and Pro that provides tools and benefits oriented towards "first-time commercial developers".

In June 2021, Unity changed its licensing terms to require any developer making games on the closed console systems (PlayStation, Nintendo Switch, and Xbox) regardless of revenue to have a Unity Pro license or a Preferred Platform License Key from the manufacturers. Sony and Nintendo provide this as part of the SDK, but Microsoft had yet to implement this functionality for their SDK. The engine source code is licensed on a "per-case basis via special arrangements".

Runtime fee reception
On September 12, 2023, Unity announced that use of the engine would become subject to royalties (referred to as a "runtime fee") beginning in January 2024, calculated per-installation and charged monthly, if the product reaches specific revenue and lifetime installation thresholds. Unity states that monetizing the runtime in this manner is required to "allow creators to keep the ongoing financial gains from player engagement."

The new terms faced criticism from game developers who had been using Unity for years, particularly regarding how this fee would be calculated and enforced, and the implications for demos, freemium games and bundles distributed for charitable causes. The change was considered to be contradictory to statements made by former CEO John Riccitiello in 2015 when Unity originally announced its shift to free and subscription-based models, stating that all users would "get the full power of Unity for free", and that there would not be royalties (in contrast to Unreal Engine, which had recently switched to free distribution but with royalties paid above a specific revenue threshold).

Unity subsequently issued a statement clarifying the definition of a chargeable "installation", and announced that the fee would not apply to charity games or bundles. Many indie developers, including Among Us developer Innersloth and Slay the Spire developer Mega Crit, announced that they would switch to other game engines.

An analysis by Ars Technica found that several older versions of Unity's terms of service would allow developers to continue to release their software without having to pay the new fee, as long as they did not update their project after the January 1, 2024 date. Ars Technica also discovered that Unity had apparently removed a GitHub repository that permitted developers to track changes in Unity's terms of service; Mega Crit accused Unity of having done so to apply their new financial model to games retroactively. An analysis by Game Developer came to the conclusion that the changes were intended to encourage games with large install bases such as Genshin Impact, Subway Surfers and Hearthstone to migrate to Unity services in order to get a fee reduction. The article noted that the Operate Solutions division, handling in-app-purchase services for example, was far more profitable than the Create division, and added that "The many indie developers who will be left by the roadside are completely incidental to Unity's goals, and are not going to be a significant factor in its future decision making." Gameindustry.biz described the move as "self-combustion" and identified the changes as an example of enshittification.

In response to this negative feedback, Unity Technologies introduced revised runtime fee terms on September 22, 2023. These included removing any fees for uses of Unity Personal for projects funded up to $200,000 (an increase from the previous $100,000 threshold), fees would only apply to games developed with Unity 2024 and beyond without any retroactive fees, and the fee would be based on the lesser of 2.5% of monthly revenue or a calculated value based on monthly engagements, both which rely only on self-reporting of these numbers. Unity Technologies faced a 60% decline in stock price over the year to May 2024, partially attributed to the runtime fee policy.

Video games
The engine is used in games including Pokémon Go, Monument Valley, Call of Duty: Mobile, Beat Saber and Cuphead according to the Financial Times in 2020. Some early commercial games in 2007 include Splume (Flashbang Studios), Magical Flying Pink Pony Game (Starscene Software) and Global Conflicts: Palestine (Serious Games Interactive).

, Unity had been used to create approximately half of the 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.

Non-gaming industries
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. The Unity engine was also used by Disney to create backgrounds for the 2019 film The Lion King.

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.

Mascot
On December 16, 2013, Unity Technologies Japan revealed an official mascot character named Unity-chan (ユニティちゃん), real name Kohaku Ōtori (大鳥 こはく) (voiced by ). The character's associated game data was released in early 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.