Unity 3D is a cross-platform game engine with a built-in IDE. It is used to develop video games for web plugins, desktop platforms, consoles and mobile devices, and is utilized by over one million developers. It currently supports development for iOS, Android, Windows, Blackberry 10, OS X, Linux, web browsers, Flash, PlayStation 3, Xbox 360, Windows Phone 8, and Wii U.
The graphics engine uses Direct3D, OpenGL, OpenGL ES, and proprietary APIs. There is 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.
Features of Unity 3D:
- Shuriken particle system supports external forces, bent normals and automatic culling.
- 3D texture support.
- Navigation: dynamic obstacles and avoidance priority.
- Major optimizations in UnityGUI performance and memory usage.
- Dynamic fonts on all platforms with HTML-like markup.
- Remote Unity Web Player debugging.
- New Project Window workflows.
- Iterative lightmap baking.
- Refined component-based workflows.
- Extensible inspectors for custom classes.
- Improved Cubemap import pipeline.
- Geometry data improvements for huge memory and performance savings.
- Meshes can be constructed from non-triangle geometry—render points & lines efficiently.
- Search, live preview and buy Asset Store assets from the Project Window.
Changes in recent version
- Asset Bundles: Building process of the AssetBundles is slow when the file count is huge.
- Asset Importers: Instantiated FBX through code throws error after leaving Play Mode.
- Asset Importers: [MacOS] Second Unity instance in Activity Monitor is "not responding” after importing.
- Global Illumination: Crash while sculpting Terrain and Baking Lightmaps.
- Global Illumination: [Enlighten] Fatal Error when closing the Editor while Generating Lighting.
- Global Illumination: [LightProbes] Probes lose their lighting data after entering Play mode when Baked and Realtime GI are enabled.
- IL2CPP: [Android] [IL2CPP] Old build artifacts are used when ARMv7 and ARM64 build follows a ARM64 only build from different git branch.
- Input: Input.GetKey does not trigger when the mouse cursor is outside the Game window.
- MacOS: Port count never stops increasing in Standalone build on Mac Standalone.
- Mobile: [Android] App stops due to OnPixelCopyFinishedListener not being supported on devices with lower than 24 SDK.
- Packman: User can't easily configure location of both UPM and Asset Store package local cache.
- Profiling: Profiler's timeline view loses context frames when frames go out of Frame Count bounds.
- Quality of Life: Scrolling is jumping when scrolling in the Input Manager.
- Scripting: Unity does not execute code weavers when the project is opened for the first time.
- uGUI: Poor performance when loading or unloading a large Scene.
- Vulkan: [Editor] The Scene's GameObjects textures are seemingly random and change colours depending on the Scene's Camera pos.
- XR: [Linux] Scene View doesn't render when opening new AR or VR Template project or pressing "Show Tutorials".