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
- Mobile: [Android] App stops due to OnPixelCopyFinishedListener not being supported on devices with lower than 24 SDK.
- Mobile: [Android] Time.deltaTime value becomes constant 0.3(3) after sending to the background and resuming an Application.
- OpenGL: SRP Batcher not working with OpenGL APIs when the project is built.
- MacOS: [macOS] Unity crashes when exception thrown after a DLL has been loaded.
- Linux: Linux Editor crashes at "_XFreeX11XCBStructure" when loading tutorials.
- Metal: Performance in Game View is significantly impacted by Gfx.WaitForPresentOnGfxThread when a second monitor is connected.
- Global Illumination: Reflection probes don't contain indirect scene lighting after the on-demand GI bake from the Lighting window.
- DirectX12: Editor crashes on GfxDeviceD3D12Base::DrawBuffersCommon when switching between Scenes.
- AI: Crash with ComputeTileMeshJob when generating Navmesh.
- Animation: [Performance Regression] AnimationWindowState:get_allCurves takes approximately 5000ms to load animation in the Animation window.
- IL2CPP: Build fails when using a combination of messages, SyncVars and SyncList in a project.
- Scene Management: Crash on BuildPrefabInstanceCorrespondingObjectMap when overriding nested prefab inside AssetDatabase.StartAssetEditing() block.
- Packman: User can't easily configure location of both UPM and Asset Store package local cache.
- Serialization: Crash in SerializedProperty::IsValid when reordering a SerializedProperty list.
- Global Illumination: [GPUPLM] Crash in RadeonRaysMeshManager::RemoveGeometry while baking Terrain game object with 4k lightmaps on certain GPU.
- Terrain: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts.
- Terrain: All the textures are cleared when creating Texture array.
- Animation: AnimationEvent is fired late or isn't fired at all when Animation's 'Motion Time' value is set manually.
- Mobile: [Android] Build fails when there are 680 or more files in the Streaming Assets folder.
- Global Illumination: Performance regression when baking light probes with a light cookie in the scene.
- Asset Import Pipeline: Prefab script field reference is lost when project is upgraded.
- IMGUI: Contents of a ModalUtility window are invisible when it is launched from a Unity Context Menu.
- 2D: [Skinning Editor] Vertex can't be created after modifying Vertexes weight and when Sprite is from the .psb file.
- Terrain: Crash on TreeRenderer::WillRenderTrees when being in Play Mode for several seconds.
- Scripting: Increased Script Assembly reload time.
- Scripting: Crashes on mono_class_init when entering Play Mode after recompiling scripts.
- MacOS: [macOS] "build is damaged and cannot be opened" error when downloading Unity build from internet.
- Asset Importers: Wintermute::Geometry::Verify errors are spammed when baking a Mesh with Mesh Compression set to Medium/High.
- 2D: [URP] The Camera renders black screen when Post Processing is enabled in the 2D Renderer and in the Camera Component.