Unity is a cross-platform game engine developed by Unity Technologies, which is primarily used to develop both three-dimensional and two-dimensional video games and simulations for computers, consoles, and mobile devices. First announced only for OS X at Apple's Worldwide Developers Conference in 2005, it has since been extended to target 27 platforms. Six major versions of Unity have been released.
The engine targets 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 also offers services to developers, these are: Unity Ads, Unity Analytics, Unity Certification, Unity Cloud Build, Unity Everyplay, Unity IAP, Unity Multiplayer, Unity Performance Reporting and Unity Collaborate.
- If you have the knowledge of any of the programming languages, you can easily start making games using Unity with very less amount of efforts.
- A great free Unity's official tutorial will help you to get started with creating good quality games.
- If you get stuck anywhere, just get your problem to your browser, and there is a huge community that will help you out in solving your problem on your own.
- You can easily create AR / VR apps using appropriate packages.
- You can build your apps for a wide variety of platforms.
- You can get some free assets and plugins to work with in Unity's asset store.
- And the most important thing is, if you want to learn computer graphics, while creating your first applications in Unity, you will unknowingly learn a lot of graphics concepts and most common practices in the community.