Install this version with Unity Hub
Additional downloadsSelect the runtime platforms of your choice from the list below (the desktop runtime is included as standard) or, to install the full complement of runtime platforms, use the download assistant installer above.
Unity Editor Windows (X86-64)
Unity Editor macOS (X86-64)
New to Unity? Get started
- iOS: Added a PlayerSetting to add the iOS 9 UIRequiresFullScreen to the Xcode generated plist to enable/disable multitasking support.
- iOS: Added Touch Pressure support. Scripts can access this API through the pressure and maximumPossiblePressure properties on Touch.
- Added warning for NetworkIdentity on child game objects.
- Better error messages when network packets larger than MTU are generated by internal multiplayer systems.
- GI: Added the "Min Chart Size" option on the MeshRenderer to allow for lowering chart size in case stiching is not needed.
- GI: Added the "Ignore Normals" option on the MeshRenderer to skip comparing normals when detecting charts for realtime GI. This can be necessary when using hand authored UVs to avoid chart splits.
- GI: Upgraded Enlighten to 2.22 UN20:
- An issue has been fixed where AMD Opteron CPUs produced different atlas packing to Intel Xeon CPUs.
- A crash affecting Linux binaries on CPUs lacking SSE3 instructions has been fixed.
- PS4 SDK used is 3.000.
- iOS stays on the old Enlighten build for a moment.
- IL2CPP: Allow null checks, array bounds checks, and divide by zero checks to be selectively included or omitted from generated C++ code by using a C# attribute on type, method, or property definitions.
- iOS/IL2CPP: Enable incremental build support using the "Append" option. Keep the generated code stable across additional, removal, and changes for string literals and non-generic types.
- Networking: Added more logging info on too-large packets when object state updates exceed the MTU.
- Networking: Added log messages to identify the object and script that cause too-large packets to be generated.
- StackTraceLogType.None now works on iOS and Android.
- Physics: Expose the error tolerance on SpringJoint. This allows the springs to have a rest length shorter than the default 2.5 cm.
- (587995) - Physics: Always render the outline of a PolygonCollider2D in dark-green so that if an edge is discarded, it still shows.
- (718508) - Physics: Increase precision of Physics2D.OverlapArea & Physics2D.OverlapCircle methods.
- Unity Ads: Update to Unity Ads 1.5.3
- VR: A camera can now target the main display backbuffer in VR mode by setting "Target Eye" to "None (Main Display)".
- VR: Updated the OVRPlugin. Oculus Runtime 0.8 is required to use Oculus VR with this patch.
- VR: Update to Oculus OVRPlugin.
- (731143) - 2D: Fixed alphasplit parameter not getting reset when switching sprite/material on the fly
- (733725) - 2D: Fixed: SpritePacker Crash after packing multiple high res sprites.
- (729698) - Android: Buildpipe - Fixed IndexOutOfRangeException thrown on plugin package collisions.
- (712011) - Android: Fix crash in dynamic batching
- (689286) - Android: Fixed an issue where a problematic EGL configuration was picked up on some Samsung devices.
- (726878) - Android: Fixed MSAA on newer ARM Mali devices like Samsung Galaxy S6
- (728806) - Android: Fixed MSAA RenderTextures on Tegra4 and K1 when using OpenGL ES 2.0
- (715602), (731076), (704017), (731078) - Android: Fixed non-working textures on some Tegra 3 and Tegra 4 devices.
- (733897) - Android: Fixed slow audio clip loading.
- (none) - Android: Fixed slow level loading.
- (715447) - Animation: Fixed animation of material properties in the animation window.
- (714661) - AssetBundle: Fixed the issue that AssetBundle names sometimes gets into inconsistent state between cache server/.meta files.
- (723030) - AssetBundle: Fixed the issue that the sprite atlas had been stored twice in AssetBundles.
- (724561) - Assets Loading: Fixed reading of assets stored in a text mode with UTF8 signature.
- (739944) - Editor: Fix for GUI methods in Update crashing the editor.
- (728260), (725794), (726660), (727065), (727287), (727802), (728012), (728240), (728350), (728369), (728446), (728518), (728795), (728822), (728836), (729405), (729406), (729643), (729775), (729790), (729828), (729857), (729925), (729992), (730045), (730059), (730069), (730328), (730403), (730993), (731464), (731500), (731586), (732069), (732101), (732425), (732546), (732842), (732853), (733280), (733416), (733440), (734148), (735199), (735227), (735296), (735804), (735991), (736048), (737077) - Editor: Fixed a crash in the editor when saving the scene.
- (704738) - Editor: Fixed incorrect DestroyGpuProgram being called.
- (731107) - Editor: Fixed occasional crash when importing assets on editor.
- (698169) - Editor: Fixed occlusion culling pre-visualisation in editor.
- (715380) - Editor: Unsupported texture compression formats now correctly fallback to default compression format for the platform.
- (642609) - Fixed crash on copying script with component requirements onto a GO which is missing the requirements.
- (710195) - Fixed issue where UI would not get rendered for disabled cameras when manually calling .Render().
- (740573) - FrameDebugger: Fixed draw call count jumping when there were realtime probes in the scene.
- (none) - GI: Fixed Enlighten saturating the command buffer and stalling because of it. Gives the biggest benefit in scenes with high rendering framerate and many animated realtime lights with non-zero bounce.
- (none) - GI: Fixed the reflection probe inspector breaking when reusing a cubemap (RenderTexture) from a realtime reflection probe on a custom reflection probe.
- (708559) - Graphics: Add error message if 3D texture is bound for rendering.
- (740977), (740988) - Graphics: Fix for shadow-casting light occlusion issues - disappearing realtime lights
- (726799) - Graphics: Fixed camera parameter changing from OnPreRender to work again.
- (736709) - Graphics: Fixed memory leak when rendering shadows.
- (730171) - Graphics: Fixed Screen.currentResolution in some cases reporting wrong resolution when in fullscreen on Windows
- (734255) - Graphics: Fixed upscaled fullscreen rendering being upside down in some situations
- (727743) - Graphics: Fixed use of Blit not correctly binding RandomWrite targets.
- (728103) - Graphics: Stopped reflection merging into emissive from stomping over render target alpha with 1.0
- (716811) - IL2CPP: Change the conv.i8 opcode implementation to handle sign extension correctly so that a conversion from a large negative int to a uint to a long in C# works as expected.
- (733772) - IL2CPP: Convert assemblies that are mentioned in a link.xml file but are not referenced by any other assemblies at compile time.
- (735413) - IL2CPP: Generate proper C++ code for a type with two fields that have the same type and name.
- (734534) - IL2CPP: Improve the error message when the byte code stripper is unable to locate an assembly.
- (737853) - IL2CPP: Prevent a crash in the player in MetadataCache::GetTypeInfoFromTypeDefinitionIndex when a constrained call is made to a generic virtual method defined on a value type.
- (736167) - IL2CPP: Prevent a memory leak that caused some GCHandles, including those used to reference MonoBehaviour instances, from being correctly reclaimed by the garbage collector.
- (717997) - IL2CPP: Prevent a NullReferenceException exception from occurring during the processing of the Preserve attribute which can obscure the actual cause of a problem.
- (718885) - IL2CPP: Prevent an intermittent hang with asynchronous sockets.
- (730233) - IL2CPP: Prevent an KeyNotFoundException exception from occurring during code conversion when a generic method is used with at least one generic argument that exceeds the maximum generic recursion depth.
- (none) - IL2CPP: Remove warnings in generated C++ code related to const problems.
- (none) - IL2CPP: The low level memory profiler no longer reports constant literals as fields with offset 0.
- (715666) - Input: Fixed mouse position going out of bounds in Fullscreen Window mode.
- (715666) - Input: Fixed render being positioned and sized incorrectly in D3D9 and D3D11 with Fullscreen Window mode.
- (739935) - iOS: Added build & run support for Xcode 7.1.
- (none) - iOS: Don't constrain iPhone 6+ to single landscape orientation on launch.
- (723360) - iOS: Export correct image for iPad launch screen now,
- (none) - iOS: Fixed incorrect landscape launch orientation on iPad.
- (none) - iOS: Fixed legacy launch screens on iOS 9.1.
- (none) - iOS: Fixed minor launch screen placement issue on devices with large resolution screens.
- (732806) - iOS: Fixed occasional 1-frame glitches in dynamic font rendering.
- (none) - iOS: Fixed second-stage splashscreen on some devices with iOS 6 and 7.
- (740343) - iOS: Fixed simulator support on Xcode 7.1.
- (742579) - iOS: Work around for iOS 9.1 bug that sometimes causes launchscreen corruption when only landscape orientations are enable.
- (725713) - Mecanim: Avoid clearing sampling data set when invalidating animator.
- (735656) - Mecanim: Delete SMB instances when user delete a state/statemachine with SMB.
- (732986), (733883), (734458) - Mecanim: Fixed AnimationControllerPlayable calls not being forwarded from Animator to its playables.
- (727244) - Mecanim: Fixed AnimationEvents not called when at the begining of a State.
- (none) - Mecanim: Fixed BlendTree performance regression.
- (734033) - Mecanim: Fixed Crash when using OverrideController with no source Controller.
- (726466) - Networking: Added support for HLAPI packet queuing on channels using the ReliableFragmented QoS.
- (697097) - Networking: Added warning message when a scene cannot be added to NetworkManager.
- (736714) - Networking: Better log warning for UNet HLAPI Script CRC check now.
- (725109) - Networking: Clear error message when user try to add the two host with the same port
- (733731) - Networking: Fix for scene slots in NetworkManager not being saved all the time.
- (none) - Networking: Fix for UNetWeaver exception when making Metro builds.
- (721917) - Networking: Fixed code generation exception when a SyncVar uses a type from external DLL. This now generates a regular build error.
- (698322) - Networking: Fixed code generation exception when using certain built-in unity types such as Vector3 in SyncListStruct.
- (714700) - Networking: Fixed crash when sending an unsupported type (a class instance) via a network Command. This now generates a build error.
- (739432) - Networking: Fixed invalid generated IL for SyncListStruct with embedded array.
- (726244) - Networking: Fixed issues with zero length size or MTU size packets using NetworkConnection Send functions. This could break packet buffering for HLAPI connections.
- (725363) - Networking: Fixed missing Connect callback for local client.
- (727133) - Networking: Fixed movement problem for objects on clients with local-client-authority when snap threshold was set to a small value.
- (730199) - Networking: Fixed NullReference exception when using NetworkAnimator.
- (738517) - Networking: Fixed slow compilation when many ClientRpc functions.
- (733731) - Networking: Fixed the scene slots in NetworkManager and NetworkLobbyManager not marking the scene dirty when they are changed.
- (736703) - Networking: Fixed wrong item index for SyncList ADD operation.
- (720436) - Networking: prevent user to set minupdatetimeout to 0 via networkmanager menu
- (730299) - Networking: Removed misleading error messages that are generated during SyncList initialization.
- (none) - OpenGL: Added detection for cases when the geometry shader expects input topology that does not match with the given geometry. Also fail compilation when using unsupported topology (such as adjacency).
- (none) - OpenGL: Compute shaders: Fixed append/consume buffer counters.
- (none) - OpenGL: Fixed shader generation when reading back per-patch outputs in a hull shader.
- (none) - OpenGL: Fixed shadow normal bias for meshes that are missing vertex normals.
- (735644) - OpenGL: Fixed texture memory usage reporting in profiler, was twice the actual size for most textures.
- (none) - OpenGL: Fixed: compute shader buffer resolves when using multithreaded renderer.
- (none) - OpenGL: Shader compiler: Fix for conflicting shader input/output names in tessellation shaders.
- (733928) - OpenGL: Shader compiler: Fixed a corner case in constant buffer vec4 access.
- (708722) - OpenGL: Shader compiler: Fixed atomic ops handling in shaders.
- (none) - OpenGL: Shader compiler: Fixed geometry shader stream index handling.
- (none) - OpenGL: Shader compiler: Fixed input redirection on geometry shaders.
- (none) - OpenGL: Shader compiler: Handle RWTexture properties more accurately.
- (none) - OpenGL: Shader compiler: In geometry shaders, only emit vertex stream for GL ver >=4.20.
- (none) - OpenGL: Shader compiler: Only emit the stream declarations if they're actually used.
- (none) - OpenGL: Shader compiler: OS X doesn't like EmitStream(0) so use EmitStream() instead.
- (738778) - Particles: Fixed sorting by distance.
- (730386) - Particles: Fixing regression when setting transform in LateUpdate
- (682939) - Physics: Allow slope limit to be considered for non-static objects.
- (731470) - Physics: Ensure that RectTransform is loaded prior to any Rigidbody2D or Collider2D so that initial position is correct.
- (731054) - Physics: Ensure that when changing the Joint2D connected RigidBody2D, all related Gizmos are reset.
- (730822) - Physics: Ensure that when ignoring collision layer/layer collisions, that existing contacts are re-evaluated.
- (731057) - Physics: Ensure that when Joint2D.EnableCollision is changed, all relevant contacts are re-evaluated.
- (714572), (720398), (720408) - Physics: Fixed a case where HingeJoint limits was not applied properly.
- (714572), (720398), (720408) - Physics: Fixed an axis-locking inconsistency in the HingeJoint when both min and max limits were set above 177 degrees, but still different.
- (689159) - Physics: Fixed Sphere-cast error against scaled non-convex meshes.
- (714572), (720398), (720408) - Physics: HingeJoint.angle is now returned as +/- 180 degrees, as in Unity4.
- (712007) - Physics: HingeJoint2D no longer produces incorrect reference angles from Rigidbody2D angles.
- (714572), (720398), (720408) - Physics: HingeJoints now have orientation to be compatible with Unity 4.
- (714572), (720398), (720408) - Physics: JointMotor.targetVelocity can now be negative as well as positive.
- (719418) - Physics: Physics2D, Collider2D & Rigidbody2D IsTouching and IsTouchingLayers now correctly represents Box2D contact state.
- (727734) - Physics: Physics2D.CircleCastXXX and Physics2D.BoxCastXXX now correctly detect very fractional overlaps.
- (702967) - Physics: Setting Rigidbody.detectCollisions to false also affects queries now (e.g. Physics.RaycastAll).
- (714572), (720398), (720408) - Physics: The HingeJoint ""Connected Body"" will view the Joint anchor as a right-hand coordinate system. This means the Connected Body will view positive angles as going counter-clockwise around the Joint anchor.
- (714572), (720398), (720408) - Physics: The Rigidbody that share the GameObject with the HingeJoint will view the Joint anchor as a left-hand coordinate system. This means the Rigidbody will view positive angles as going clockwise around the Joint anchor.
- (none) - Samsung TV: Make Cursor.lockState API work in Samsung TV.
- (none) - Substance: Fix bitmap export. Bitmap export can now save bitmaps with the alpha channel setup according to the Unity material.
- (725397), (728853), (729290) - UI: Fix Editor crash that would sometimes trigger after pressing play/stop
- (733005) - Umbra : Fixed missing realtime lights after baking occlusion data.
- (719421) - VR: Fix HMD content failure after disconnect and reconnect
- (716410), (716422 VR: Fix incorrect info and toggles while HMD was disconnected
- (720052), (732183) - VR: Fix Loss of Window focus crashes upon return
- (736323) - VR: Fix regression crash when HMD was disconnected at application start
- (716500) - VR: Fix stereoMirrorMode right eye flicker
- (732236) - VR: Fix VRDevice.IsPresent always returning true
- (740962) - VR: Fixed Crash when exiting play mode.
- (none) - VR: Fixed ShowDeviceView preventing drawing to the game view with any camera when false.
- (722766) - WebGL: Fix doppler effect being used on audio sources with spatial blend set to 2D
- (733864) - Windows Phone: Font will be visible again.
- (none) - Windows Phone: Reduced runtime memory usage by ~4 MB.
- (735383) - Windows Store Apps: Correctly generate Visual Studio namespace if package name has dot followed by a number. For ex., Test.2 package name will produce Test._2 namespace
- (733548) - Windows Store Apps: Use initial supported orientations from Player Settings.
- (733864) - Windows Universal 10: Fixed invisible text on ARM devices issue.
- (735387) - Windows Universal 10: Fixed screenshot capture failure.
- (none) - Windows Universal 10: Updated default project template to hide status bar by default
- (713391) - WSA: Fixed: Can't build & run to SDK 8.1 if only VS2015 is installed.
- (735384) - XboxOne/IL2CPP: Correct metadata loading on startup.