Unity
| Unity | |
|---|---|
| Information | |
| Type | Game engine, real-time 3D development platform |
| Industry | Video games, virtual reality, augmented reality, film, automotive, architecture |
| Developer | Unity Technologies |
| Written In | C, C++ (runtime); C# (scripting) |
| Operating System | Windows, macOS, Linux (editor) |
| License | Proprietary, subscription based with a free Personal tier |
| Supported Devices | Desktop, mobile, consoles, VR and AR headsets |
| Release Date | June 8, 2005 |
| Website | https://unity.com/ |
<ul><li>Property "Industry" (as page type) with input value "Virtual Reality|virtual reality" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.</li> <!--br--><li>Property "Industry" (as page type) with input value "Augmented Reality|augmented reality" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.</li></ul> Property "Written In" (as page type) with input value "C, C++ (runtime); C# (scripting)" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
Unity is a cross-platform, real-time 3D game engine and development platform created by Unity Technologies. It lets coders and non-coders alike prototype and fully develop interactive 2D and 3D applications, including games for virtual reality (VR) and augmented reality (AR). Projects are scripted in C# and can be exported to all major platforms from a single codebase, including desktop, mobile, consoles such as the Nintendo Switch, and a wide range of XR headsets.[1] While Unity is best known for video games, the company has expanded into other markets including architecture, engineering, and construction for immersive 3D experiences, as well as automotive, transportation, and manufacturing for real-time 3D rendering.[1] Depending on a developer's status, from student to enterprise above a revenue threshold, Unity is available at several subscription tiers, including a free Personal plan.[2]
Unity is the dominant engine for VR and AR content. As of the late 2010s the company reported that Unity powered roughly 60 percent of all AR and VR content, a position it has held through its cross-platform export, large Asset Store, and low barrier to entry for independent developers.[3]
History
Unity Technologies was founded as Over the Edge Entertainment in Copenhagen, Denmark, on August 2, 2004, by David Helgason, Nicholas Francis, and Joachim Ante. The founders set out to make games but found more value in the development tools they had built, so they refocused the company on selling an accessible engine to other developers.[4] The first version, Unity 1.0, was released in June 2005 at Apple's Worldwide Developers Conference as a Mac OS X game engine.[3] The engine was originally scripted with UnityScript and Boo as well as C#, but those legacy languages were later deprecated in favor of C# implemented through Mono.[3]
In its 2020 filing for an initial public offering, Unity stated that its platform was used in more than half of mobile, PC, and console games, and that it accounted for 53 percent of the top 1,000 mobile games on the Apple App Store and Google Play.[5]
In September 2023 Unity announced a Runtime Fee that would have charged developers per game install, which drew heavy backlash from the development community. The company reversed course and fully cancelled the Runtime Fee on September 12, 2024, under chief executive Matt Bromberg, returning to a seat-based subscription model with price increases instead.[6]
XR plug-in framework
XR development in Unity is built on the Unity XR plug-in framework, which provides a common foundation for VR, AR, and mixed reality applications. The framework is organized around subsystems, each of which defines the life cycle and scripting interface for a single engine feature such as input, display, or plane detection. Application code calls the same subsystem API on every platform, while the underlying implementation, called a provider, is supplied by a platform-specific package known as a provider plug-in. This design lets a developer write interaction and rendering logic once and run it on many different headsets.[7]
Provider plug-ins are enabled through the XR Plug-in Management system in the editor. The official provider plug-ins maintained by Unity and its partners include the following.[8]
| Provider plug-in | Supported platforms and devices |
|---|---|
| OpenXR | Any device with a conformant OpenXR runtime, including Meta Quest, HTC Vive, Valve Index, and SteamVR headsets |
| Oculus | Meta Quest family and Oculus Rift, using Meta's native runtime |
| Unity OpenXR: Meta | Meta Quest devices through the OpenXR backend |
| Unity OpenXR: Android XR | Android XR devices |
| Google ARCore XR | Android handheld AR devices, built on ARCore |
| Apple ARKit XR | iOS handheld AR devices, built on ARKit |
| Apple visionOS XR | Apple Vision Pro running visionOS |
| PlayStation VR | PlayStation VR and PlayStation VR2, for registered developers |
The Unity OpenXR Plugin is the recommended path for new VR projects. OpenXR is a royalty-free open standard from the Khronos Group, and an app built against Unity's OpenXR provider runs unmodified across any conformant runtime, which spans current Meta, HTC, and Valve hardware.[9] The earlier Oculus XR Plugin remains available for Meta Quest, but Unity now points developers toward OpenXR for forward compatibility.[8] Older Windows Mixed Reality headsets were historically reached through the OpenVR or Windows Mixed Reality plug-ins and are now served by OpenXR on supported runtimes.[9]
XR Interaction Toolkit
The XR Interaction Toolkit is a high-level, component-based interaction system for building VR and AR experiences. Its core is a set of Interactor and Interactable components tied together by an Interaction Manager, which turns Unity input events into 3D and user interface interactions without writing low-level code.[10] The toolkit provides grabbing and hover detection, controller input across Meta Quest, OpenXR, and Windows Mixed Reality, haptic and visual feedback, canvas based UI interaction, and locomotion utilities for stationary and room-scale rigs. AR interaction features such as gesture mapping and object placement are available when the toolkit is combined with AR Foundation, and an XR Device Simulator allows testing without physical hardware.[10]
AR Foundation
AR Foundation is Unity's cross-platform framework for handheld and headset augmented reality. It is a middleware package that sits between application code and the native AR SDKs, exposing a single unified API while the work is delegated to platform-specific provider plug-ins underneath. The framework itself implements no AR features; a target platform also needs its matching provider plug-in installed.[11] Unity announced AR Foundation at the Game Developers Conference in 2018 and shipped it with Unity 2018.1 as its first step toward a multi-platform AR solution.[12]
AR Foundation is best understood as the abstraction layer over Google ARCore on Android and Apple ARKit on iOS, and it extends to the Apple visionOS and Microsoft HoloLens provider plug-ins as well.[11] The same application code that responds to a detected plane on iOS works on Android, with the differences handled by the provider. Supported capabilities include session management, device tracking, camera rendering, plane detection, image tracking, object tracking, face tracking, body tracking, point clouds, raycasting, anchors, meshing, environment probes, occlusion, and participant tracking, with feature availability varying by platform.[11] Two related authoring aids build on this foundation: Unity MARS, a tool that helps apps interpret environment and sensor data so content reacts intelligently to real surroundings, and Unity as a Library, which embeds the Unity runtime inside a native mobile app so AR features can be added without rebuilding the host app from scratch.[13]
visionOS and PolySpatial
Unity supports the Apple Vision Pro through PolySpatial, a technology that lets developers use familiar Unity tools and workflows to build spatial experiences for Apple's visionOS. PolySpatial enables three kinds of output: fully immersive VR style apps that replace the user's surroundings, mixed reality content that runs in the visionOS Shared Space alongside other apps with passthrough of the real world, and windowed 2D content that can be resized and repositioned.[14] Unity's existing cross-platform frameworks, AR Foundation and the XR Interaction Toolkit, carry over to visionOS so that many mobile and XR apps can be brought to the platform without rebuilding core functionality.[14] Support for Apple Vision Pro reached general availability on January 31, 2024 and is offered to Unity Pro, Enterprise, and Industry subscribers; building for visionOS requires a Mac with Apple silicon.[15]
Tools for VR and AR development
Beyond the XR plug-in stack, Unity ships several systems that VR and AR developers rely on.[16]
- High Definition Render Pipeline (HDRP) provides high fidelity rendering for VR while managing performance.
- XR Interaction Toolkit adds interactivity such as grabbing, pointing, and locomotion without coding from scratch.
- Particle System simulates visual effects from large numbers of small objects.
- Spatial Audio offers integrated support for ambisonic audio clips, full-sphere surround sound, and sound field rotation based on the listener's position.
- Stereo Instancing renders both eyes in a single pass to reduce the cost of stereoscopic display, lowering power consumption on headsets.
Why Unity dominates VR and AR
Several factors explain Unity's lead in immersive content. A single project can be exported to many headsets and stores at once, which suits the fragmented XR hardware market. The Asset Store gives developers ready-made models, shaders, and tools that shorten production. The engine's accessibility and C# scripting lower the barrier for indie and small teams, who make up a large share of the VR and AR catalog. Cross-platform frameworks such as AR Foundation, the XR Interaction Toolkit, and OpenXR mean that code written for one device often runs on others with little change.[11][10][3]
Notable VR titles built in Unity
Many of the most widely played VR games are built in Unity. The following titles have been publicly confirmed to use the engine.
| Title | Developer | Notes |
|---|---|---|
| Beat Saber | Beat Games | Rhythm game; early access launch May 1, 2018; one of the best selling VR games[17] |
| Job Simulator | Owlchemy Labs | Sandbox VR comedy, an early flagship room-scale title[18] |
| Superhot VR | SUPERHOT Team | First-person shooter where time moves only when the player does[18] |
| Pistol Whip | Cloudhead Games | Rhythm shooter released in 2019[19] |
| Gorilla Tag | Another Axiom | Social locomotion game popular on Meta Quest[20] |
See also
References
- ↑ 1.0 1.1 "Unity Real-Time Development Platform". https://unity.com/.
- ↑ "Compare Unity plans". https://unity.com/products/compare-plans.
- ↑ 3.0 3.1 3.2 3.3 "Unity (game engine)". https://en.wikipedia.org/wiki/Unity_(game_engine).
- ↑ "How Unity built the world's most popular game engine". 2019-10-17. https://techcrunch.com/2019/10/17/how-unity-built-the-worlds-most-popular-game-engine/.
- ↑ "Unity files for IPO, reveals $163 million loss for 2019 and 1.5 million monthly users". 2020-08-24. https://venturebeat.com/2020/08/24/unity-files-for-ipo-reveals-163-million-loss-for-2019-and-1-5-million-monthly-users/.
- ↑ "Unity scraps runtime fee, hikes subscriptions instead". 2024-09-12. https://www.theregister.com/2024/09/12/unity_cancel_runtime_fees/.
- ↑ "Subsystems, AR Foundation". https://docs.unity3d.com/Packages/[email protected]/manual/architecture/subsystems.html.
- ↑ 8.0 8.1 "XR packages". https://docs.unity3d.com/Manual/xr-support-packages.html.
- ↑ 9.0 9.1 "OpenXR Plugin". https://docs.unity3d.com/Packages/[email protected]/manual/index.html.
- ↑ 10.0 10.1 10.2 "XR Interaction Toolkit". https://docs.unity3d.com/Packages/[email protected]/manual/index.html.
- ↑ 11.0 11.1 11.2 11.3 "AR Foundation". https://docs.unity3d.com/Packages/[email protected]/manual/index.html.
- ↑ "Cross-platform Augmented Reality with Unity". https://www.viget.com/articles/cross-platform-ar-with-unity/.
- ↑ "Unity AR development". https://unity.com/unity/features/ar.
- ↑ 14.0 14.1 "Start building spatial apps for Apple Vision Pro with Unity". https://unity.com/blog/engine-platform/spatial-apps-for-apple-vision-pro.
- ↑ "Unity's Support for Apple Vision Pro is Now in General Availability". 2024-01-31. https://investors.unity.com/news/news-details/2024/Unitys-Support-for-Apple-Vision-Pro-is-Now-in-General-Availability--Empowering-Developers-to-Create-Apps-and-Games-in-visionOS/.
- ↑ "Unity VR development". https://unity.com/unity/features/vr.
- ↑ "Beat Saber". https://en.wikipedia.org/wiki/Beat_Saber.
- ↑ 18.0 18.1 "Best VR Games Created In Unity". https://www.finalparsec.com/blog_posts/best-vr-2022.
- ↑ "Pistol Whip". https://en.wikipedia.org/wiki/Pistol_Whip.
- ↑ "Gorilla Tag". https://en.wikipedia.org/wiki/Gorilla_Tag.