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 - Database: Texture size increased on first build when 'Compress Textures/Assets on Import' is enabled
- Asset Bundles: Textures are not compressed when building bundles
- DirectX11: Crash on GfxDeviceD3D11Base::ResolveDepthIntoTexture when opening the project
- DirectX11: Random-write to UAV texture from shadowcaster shader causes GPU hang when filtering Scene Hierarchy objects
- IL2CPP: [Mobile] [IL2CPP] Build fails when using custom script and target architecture ARM64 is selected
- IMGUI: Impossible to change the Gradient's location value in the Visual Effects Graph when using the keyboard
- Linux: Editor crashes at "GfxDeviceGLES::DrawBuffersBatchMode" when entering Play Mode in the LEGO tutorial
- Linux: Editor crashes at "__assert_fail_base.cold" when opening a project (Linux)
- Linux: New Input System's Input Actions windows's Binding Path dropdown is rendered as an empty white square on Linux
- Metal: Consistent EditorLoop 5-10ms spikes when using Metal API
- Mono: Crash with ScanAssemblyForAttributesAndInterfaceImplementations when opening a project
- Mono: [Android] "Found plugins with same names" error is thrown when building on Android with duplicate .dll files
- Package: Unity crashes in batch mode when using -vcsMode Perforce
- Physics: Crash on internalABP::ABP_PairManager::addPair when switching to ArticulationJointType.SphericalJoint during runtime
- Quality of Life: ReorderableList out of bounds exeception
- Quality of Life: [Mac] ShortcutManager ignores Shift modifier
- Scene/Game View: Game Object Material starts flickering when dragging new material over other Game Object that touches first Object
- Search: Fail to load the search index concurrently
- Serialization: Editor crash when deserializing an array of a type with a nested fixed-size buffer field
- Shader System: Editor crashes in Play mode when Groupshared memory and a constant buffer value is used in a compute shader on OpenGLES3
- Shadows/Lights: Scene is brighter in Standalone player if it was open in the Editor at build time
- Texture: File could not be read error is thrown when a 16 bit .tif file is present in the project
- Version Control: Crash on TcpProtobufClient::EndBatch when creating a Prefab and Cache Server is disconnected
- Web Platform: [Linux] Webgl build crashes every time when using Unity Editor on Linux
- WebGL: WebGL Input System interactions are delayed or played preemptively when the project is built