Unity (game engine)

from Wikipedia, the free encyclopedia
Unity

Unity Technologies logo.svg
Basic data

developer United StatesUnited States Unity Technologies
Publishing year June 8, 2005
Current  version 2019.3.10
(April 16, 2020)
Current preliminary version 2020.1.0b5
(April 9, 2020)
operating system Windows , Mac , Linux (development and target platforms), PS4 , Xbox One , Wii U , Nintendo Switch , tvOS , HoloLens, iOS , Android , PSV , Google Stadia (target platforms only)

Web browser via WebGL (from Unity 5) or plug-in : Unity Web Player

programming language C ++ (runtime), C # (scripting)
category Game engine
License End User License Agreement
unity.com

Unity is a runtime and development environment for games ( game engine ) from Unity Technologies , headquartered in San Francisco . In addition to PCs , target platforms are also game consoles , mobile devices and web browsers . The development environment that enables computer games and other interactive 3D graphics applications to be developed is available for Windows , Linux (beta only) and macOS .

Unity Technologies was founded in 2004 by the Icelandic David Helgason, the Dane Nicholas Francis and the German Joachim Ante under the name Over the Edge in Copenhagen and renamed Unity Technologies in 2006 .

Development environment

The development environment ( Unity Editor ) is based on common 3D animation programs. A main window shows the 3D scene; various menus and forms allow the manipulation of the camera and scene. Parts of the scene can be selected, scaled , shifted and rotated with the mouse . The scene is organized as a scene graph from so-called "GameObjects". Components ( materials , sounds, physical properties, scripts ) can be assigned to these GameObjects . Simple objects such as light sources or graphic primitives (planes, cubes, spheres) can be created directly in the editor. Complex components (so-called "assets") are imported using drag & drop , e. B. 3D models , animations , textures and sounds created in other programs. If they are changed in the course of production, the Unity editor updates them automatically. In the "Game View", the graphic display and behavior of the game are simulated. An export function enables the creation of executable applications.

Technical characteristics

Gone Home - Unity

graphic

Unity provides a state-of-the-art graphical representation. The graphics engine uses a deferred shading method and is based on OpenGL or Direct3D , depending on the target platform. Various shader- based lighting models are supported: bump mapping , environment mapping , parallax mapping , environment obscuring , dynamic shadows (based on shadow maps ), render-to-texture and full-screen post-processing effects (e.g. reflections and glow, based on frame buffer objects ). The built-in lighting effects can be expanded with shaders developed in-house.

animation

Game objects can be moved using predefined paths, scripts or physical forces (built-in PhysX engine). Character animation is possible using the skin-and-bones technique. A figure is shown graphically as a polygon mesh , which is animated over an invisible skeleton. The skeleton animations are prepared and imported in external programs, but can also be controlled via inverse kinematics depending on what is happening at runtime . As of Unity 4, the new “Mecanim” component enables extensive control of character animation within the Unity editor. Particle systems enable the representation of gaseous phenomena such as fire, explosions and smoke.

Music and noises

Unity uses the FMOD program library to play music, sounds and noises . Sound sources can be placed and animated anywhere in the scene. The listening location is typically moved together with the camera. The spatial representation of noises and sounds for multi-channel sound systems takes place automatically via FMOD. The acoustic environment can also be simulated using Doppler , Hall , echo and filter effects . A real, physically based auralization is not possible. In March 2014, with the announcement of Unity 5, a fundamentally revised sound system was presented. This should enable direct editing of sound files in Unity in the future.

programming

The mechanisms built into Unity can be supplemented with self-written programs, so-called scripts. Scripts are necessary to describe the game process and logic. The scripting in Unity is based on Mono and offers C # as a possible scripting language . Up to version 2017.1, there was also the possibility to script in UnityScript (a language similar to JavaScript ) and Boo. From version 3.4 to 2018.1, Unity used the MonoDevelop development environment by default . Since then, Unity has been using Visual Studio Community as standard , which was already included in previous versions via the installer.

Scripts and other assets (such as 3D models) can be combined in so-called “prefabs”. This is useful when objects of the same type are contained several times in a scene. Prefabs make it possible to use your own self-developed building blocks (figures, GUI components) as well as built-in components. Tools that you have developed yourself (e.g. script collections) are combined in "packages" and then exported. With the help of scripts that run in the Unity editor, functions can also be added to the development environment itself. For example, you can develop your own editors for Prefabs, which can be seamlessly integrated into the window system of the Unity development environment.

For platform-dependent , hardware-related or performance-critical extensions, Unity in the Pro version can be extended by C ++ programs ( DLLs ). The graphics engine from Unity can be expanded by self-written shader programs in Cg and HLSL within the "ShaderLab" environment.

Multiplayer games

For games with multiple users, the computers of all players must communicate with one another via a network (typically the Internet). They exchange positions of players (PCs), NPCs , scores, the state of the game scene (time of day, weather conditions). Ideally, every player has the same view of the game scene at all times. The state of the art here is the client-server model . A central server manages the game, the players log in as clients on the server. For the synchronization between client and server Unity offered the mechanisms remote procedure call and replication . A new multiplayer framework has been in progress since 2018, which will replace the outdated UNet system from 2020.

Tools

Unity can be expanded using a number of tools available free of charge. These can be integrated into the Unity editor as plug-ins and expand the Unity editor with functions and assets. The following tools are available

  • Terrain Modeler
  • Tree and plant editor
  • Particle Effects Tools
  • Motion controls for characters
  • EditorVR

Network collaboration

The "AssetServer" is used for collaboration in networked teams. This offers a central directory for assets (3D models, textures, sounds, scripts) and version management . The operations (“checkin”, “checkout”, “commit”) are fully integrated into the development environment; however, the AssetServer does not allow version branching of the project. The AssetServer only works with the paid Pro version of Unity.

With the “AssetStore”, the manufacturer offers a web platform for trading game components. Components such as models and textures, shader packages or tools you have written yourself can be traded there. In the “unifycommunity” wiki, Unity users collect knowledge in a generally accessible manner. There are also many ready-made solutions to problems in the form of scripts, prefabs and packages. A list of manufacturer-independent websites on which assets are offered free of charge or for a fee can be found under the web links.

Learning offer

Unity Technologies itself offers an English-language learning offer called Unity Learn, which was initially divided into two parts: On the one hand, there were free courses that were listed under Unity Learn. On the other hand, there were paid courses that were listed under Unity Learn Premium. Since June 23, 2020 Unity Technologies has also made the premium offer available to all users free of charge. In addition, Unity offers various lectures in English as part of the annual "Unity Unite", which can be viewed on site or online.

Target platforms

Unity allows the development of games and applications for the following platforms:

Applications beyond computer games

Game engines are also used for applications beyond the computer game market, which benefit from their powerful 3D graphics. Examples include applications of virtual and augmented reality , audiovisual simulations and experimental media applications. Typically, however, these are individual developments by researchers or artists that are hardly accessible to the public (at most via Internet videos). If the software is still available online, it is mostly of an experimental nature, but can be used free of charge for your own experiments.

Since Unity has an open software architecture ( socket communication, .NET compatibility via Mono, extensions in C ++) and is available relatively inexpensively, a number of extensions and connections have been developed for Unity in recent years:

distribution

In 2011 around 500,000 developers worldwide registered with the manufacturer. In May 2012, the Gamasutra website reported that 53.1% of all developers who took part in the survey said they used Unity for mobile devices.

In 2014 Ourpalm invested in Unity.

License models and costs

The manufacturer offers four different payment models. All versions contain the development environment, access to documentation, tutorials, examples and support via forum and wiki. However, there are differences in support and access to additional functions.

The only decisive factor for the model to be chosen is the company's annual earnings capacity:

  • Personnel: Complimentary, income or benefits cannot exceed $ 100,000 in the past twelve months.
  • Plus: € 37 / month per person, income or benefits cannot exceed $ 200,000 in the last twelve months.
  • Pro: € 138 / month per person, no restrictions.
  • Enterprise: No information, depending on the size and turnover of the studio.

literature

Web links

Commons : Unity (game engine)  - collection of images, videos and audio files

Individual evidence

  1. Unity 2019.3.10. Retrieved April 16, 2020 .
  2. Unity 2020.1.0b5. Retrieved April 9, 2020 .
  3. Unity 4.x Software License Agreement . Unity Technologies. Retrieved April 6, 2014.
  4. Unity Technologies: Unity - Manual: Deferred shading rendering path. Accessed on September 26, 2017 (English).
  5. Unity Mecanim . Unity Technologies. Retrieved December 8, 2012.
  6. Unity Sound . Unity Technologies. Archived from the original on July 28, 2011. Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved July 30, 2011. @1@ 2Template: Webachiv / IABot / unity3d.com
  7. Unity 5 - Overview of Changes . CreateGames. Archived from the original on March 29, 2014. Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved March 29, 2014. @1@ 2Template: Webachiv / IABot / creategames.de
  8. Unity 5 . Unity Technologies. Retrieved March 29, 2014.
  9. ^ Unity Mono Compatibility . Unity Technologies. Archived from the original on January 16, 2013. Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved December 9, 2012. @1@ 2Template: Webachiv / IABot / docs.unity3d.com
  10. UnityScript's long ride off into the sunset - Unity Blog . In: Unity Technologies Blog . ( unity3d.com [accessed September 11, 2018]).
  11. Replacing MonoDevelop-Unity with Visual Studio Community starting in Unity 2018.1 - Unity Blog . In: Unity Technologies Blog . ( unity3d.com [accessed September 11, 2018]).
  12. Unity ShaderLab . Unity Technologies. Retrieved August 29, 2011.
  13. ^ Unity Networking Concepts . Unity Technologies. Retrieved August 31, 2011.
  14. UNet deprecation FAQ. Retrieved March 1, 2020 .
  15. Unity Tree Editor . Unity Technologies. Retrieved July 30, 2011.
  16. Unity Extensions . Unity Technologies. Retrieved July 30, 2011.
  17. Unity: “EditorVR” 3D tool is open source and expandable . Retrieved January 20, 2019.
  18. Unity AssetServer . Unity Technologies. Archived from the original on September 6, 2011. Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved August 30, 2011. @1@ 2Template: Webachiv / IABot / unity3d.com
  19. Unity AssetStore . Unity Technologies. Archived from the original on September 3, 2011. Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved August 30, 2011. @1@ 2Template: Webachiv / IABot / unity3d.com
  20. unity3d.com Wiki . Unity3d. Retrieved November 11, 2014.
  21. ^ Unity Learn. Retrieved July 14, 2020 .
  22. a b Learn Premium is now available to everyone at no cost - Unity Technologies Blog. June 23, 2020, accessed July 14, 2020 (American English).
  23. Andrew Jevsevar: How to profile and optimize a game | Unite Now 2020. Unity, July 13, 2020, accessed July 14, 2020 .
  24. ^ Unity - YouTube. Retrieved July 14, 2020 .
  25. ^ Unity Technologies: Unity Unite. Retrieved July 14, 2020 .
  26. http://unity3d.com/unity/multiplatform/desktop , accessed on August 23, 2014.
  27. http://unity3d.com/unity/multiplatform/consoles , accessed on August 23, 2014.
  28. http://unity3d.com/unity/multiplatform/mobile , accessed on August 23, 2014.
  29. Web Player . Unity Technologies. Retrieved December 8, 2012.
  30. Middle VR . i'm in VR. Retrieved December 8, 2012.
  31. ^ Oculus Rift . Oculus VR, Inc .. Retrieved December 8, 2012.
  32. Hartmut Gielselmann, Jan-Keno Janssen: Finally in the middle! First test of the VR glasses Oculus Rift, c't - magazine for computer technology. Pp. 102-109, issue 10, April 22, 2013.
  33. Valve Brings SteamVR to the Unity Platform - Unity blog. In: Unity Technologies Blog. Retrieved March 23, 2016 .
  34. ^ Qualcomm Vuforia . Qualcomm Technologies, Inc .. Retrieved December 8, 2012.
  35. Metaio . Metaio. Archived from the original on September 12, 2014. Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved September 11, 2014. @1@ 2Template: Webachiv / IABot / dev.metaio.com
  36. Announcing Support for Microsoft HoloLens - Unity Blog. In: Unity Technologies Blog. Retrieved March 23, 2016 .
  37. Christian Geiger and Maic Masuch: Triebwerke, iX - magazine for professional information technology , September 2011 issue.
  38. Mobile game developer survey leans heavily toward iOS, Unity . Gamasutra. Retrieved December 9, 2012.
  39. https://technode.com/2014/09/11/chinese-gaming-company-ourplam-buy-stake-game-engine-unity