Unity 5.4.2

Released:
Select 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.
New to Unity? Get started

Improvements

  • Android: Buildpipe - Added pre-build step that verifies the environment. Check Android device, SDK and JDK before compiling the project and the scripts.
  • Asset Database: Added a new API for getting asset information without loading asset into memory.
  • D3D12: Added an error message if trying to ReadPixels from outside the RenderTarget's bounds and return false to ignore the request.
  • Editor: Improved the tooltip message for Light Probes option in Renderer components.
  • GI: Added a tooltip in the editor for Light Probes option in Renderer inspectors.
  • GI: Light Probe Volume - fixed performance issue with LPPV when no Renderers are found in the same game object. Light Probe blending job is much faster now.
  • GI: Reflection Probes component: Added and updated tooltips.
  • Graphics: Improved CPU performance when calling lots of Graphics.DrawMesh API with null MaterialPropertyBlock (829800).
  • Graphics: Slight optimisation of CommandBuffer.DrawMesh and CommandBuffer.DrawRenderer.
  • Graphics: Updated tooltip test for "Box Projection", "Box Offset" & "Box Size".
  • IL2CPP: Added an option to link.xml files to ignore missing assemblies.
  • iOS: Added iPhone 7 and 7+ entries to the device enum.
  • iOS: Added PlayerSettings to specify microphone and camera usage description. Needed for iOS 10 / Xcode 8 compatibility.
  • iOS: Update Build and Run to work with Xcode 8.
  • Lighting: Renamed popup menu item from "Default scene parameter" to "Scene Default Parameters".
  • Substance: Improved substance assets processing when switching platforms, upgrading a project and building.
  • tvOS: Added "Require Extended Game Controller" option to player settings.
  • VR - Updated Oculus plugin to version 1.8

Changes

  • GI: Reflection Probes component - renamed "Probe Origin" to "Box Offset" and "Size" to "Box Size" in the UI.

Fixes

  • AI: Fix for regression where a pushed passive NavMeshAgent would sometimes move to its origin after navmesh carving. (830443)
  • Analytics: DeviceInfo now matches hwstats data. (none)
  • Android: Buildpipe: Fixed streaming assets folders starting with _ ignored. (819800)
  • Android: IL2CPP - Fixed missing config files for il2cpp build. (821806)
  • Android: Sensors - Fixed location isEnabledByUser returning true when the service is disabled. (821688)
  • Android: WebRequest - Fixed a crash when using GetAudioClip() with file protocol. (818992)
  • Android: WWW - Fixed an application freeze on WWW.Dispose when the connection was canceled. (777663)
  • Animation: Fixed blending between two additive clip when some properties are animated in one clip but not in the other one. (828199)
  • Animation: Fixed OverrideController memory leak. (none)
  • Animation: The Animation preview will correctly display a preview animation when a model is dragged to the preview area. (819905)
  • Api updater: Fixed a crash when updating Boo/UnityScript scritps with empty "else" blocks. (769445)
  • Api-updater: Fixed crashes / issues with paths containing either "exe" or "dll" in any part other than the file extension. (809268)
  • AssetBundle: Fixed the issue that error sometimes happens when LoadAssetAsync and UnloadUnusedAsset is called before prefab is instantiated. (822393)
  • AssetBundles: Fixed high CPU usage while downloading asset bundles. (755398)
  • Audio: Fixed memory leak when quickly loading and unloading lots of audio assets. (832271)
  • Canvas: Fixed a regression introduced in 5.4.0p4 where non-native fullscreen player appeared darker when Canvas was present, in Linear color space. (834100, 833996)
  • D3D11: Added check and return when trying to ReadPixels from outside the RenderTarget's bounds, fixes crash on nVidia hardware. (819793)
  • D3D12: Fixed a crash caused by using DXGI_PRESENT_ALLOW_TEARING with exclusive fullscreen swapchains. (814533)
  • D3D12: Fixed a crash when creating RenderTargetView for 3D RenderTextures. (none)
  • D3D12: Fixed missing splash screen. (796521)
  • Editor Test Runner: Added firstpass assemblies to be picked up by the Editor Test Runner. (819175)
  • Editor: Fixed a crash when registering undo for null object. (779052)
  • Editor: Fixed an extra erroneous characters in path passed to PostProcessBuild callbacks. (821728)
  • Editor: Fixed an issue with [FormerlySerializedAs] not working with scripts assigned to prefabs. (732717)
  • Editor: Fixed path error when building into the same folder again. (818346)
  • Editor: Fixed services tab not getting focused when a service refresh occurs. (704234, 807773, 829992, 822715)
  • Editor: JavascriptPackageManager now supports UNC path on Windows. (764857)
  • FrameDebugger: Fixed crash on Android. (824107)
  • GI: Fix for out-of-memory failure in Visibility Upsampling when baking lightmaps for a large scene. (819841)
  • GI: Fixed a crash that can happen when building lightmaps when a procedural texture was used for transparency. (818910)
  • Graphics: DisableBatching tag now works correctly in depth pass and legacy deferred base/final passes. (819602)
  • Graphics: Fix for incorrect calculation of projection matrix on some platforms. (826406)
  • Graphics: Fixed a crash in the Editor when material and shader properties weren't updated correctly. (812576)
  • Graphics: Fixed a crash that would in some cases happen after Material.CopyPropertiesFromMaterial. (821208)
  • Graphics: Fixed a rare deadlock that can happen when graphics jobs are enabled. (827364)
  • Graphics: Fixed a threading issue causing game view to corrupt or go blank randomly in OSX editor. (820693)
  • Graphics: Fixed an Assert in AssignProjectorQueuesJob about calling GetRenderJobThreadCount() when not on the main thread. Triggers when running gfx jobs in scenes with projectors. (none)
  • Graphics: Fixed an unnecessary assert in static batching loop. (818781)
  • Graphics: Fixed Display renderingWidth and renderingHeight incorrectly returning system resolution values. (none)
  • Graphics: Fixed large delta values in the the motion vector matrix when a camera is enabled after being disabled. (none)
  • Graphics: Fixed lightmap texture corruption when changing quality levels. (785547)
  • Graphics: Fixed the issue of projectors rendering twice if transparent objects are in the scene. (814282)
  • Graphics: More prevention against invalid data causing crashes in CommandBuffer.DrawRenderer. (813052)
  • Graphics: Now use Renderer::GetTransform() when calculating local AABB so that static batched renderers return the reference transform correctly. (813671)
  • GUI: Fixed an issue where GUI::DrawTexture appeared darker than GUI::DrawTextureWithTexCoords when in Linear color space. (828145)
  • GUI: Fixed the regressions introduced in 5.4.1f1 and 5.4.1p1 where GUI.DrawTexture & GUI.DrawTextureWithTexCoords appeared lighter in Linear color space. (832155)
  • IL2CPP: Allow now Monitor.TryEnter to correctly obtain a previously taken lock that has been released, which did not work in some cases. (815783)
  • IL2CPP: Correct the stack state handling during code conversion for some box opcodes. (826624)
  • IL2CPP: Removed an unnecessary assert when GC.Collect(1) is called. The call will still have no impact though. (834376)
  • Input: Mouse position is now updated but not clamped when outside of game window. (827851)
  • iOS: Added missing iOSTargetOSVersion enum entries. (826595)
  • iOS: Corrected the default setting for bitcode on the XCTest target to fix a linker error. (824979)
  • iOS: Fixed a crash when killing the app while a WWW Request was in flight. (811959, 815928)
  • IOS: Fixed an iOS 10 warning for improper use of runloop. (none)
  • iOS: Fixed an issue where Touch.deltaTime was incorrectly returning zero when device had been on for approximately 30 days or more. (809752)
  • iOS: Fixed App Store submissions with Xcode 8 when phone camera is not being used by game. (none)
  • iOS: Fixed iPhone6+ reported resolution in first Start/Awake calls. (803581)
  • iOS: Fixed the appearance of apps freezing when locking/unlocking the device. (820863)
  • iOS: Fixed the GI crash on 32bit devices. (827107)
  • iOS: Fixed the iOS crash when screen resolution is changed from script. (827431)
  • IOS: Fixed the Remote notification detection code. (830528)
  • Linux: Fixed the nographics crash in non-headless player. (none)
  • Linux: Improved the robustness of opengl legacy fallback. (none)
  • Metal: Fixed an issue whereby view was not scaling properly when using Screen.SetResolution in fullscreen mode. (818563)
  • Metal: Fixed grab pass combined with image effects appears darker. (830273)
  • Metal: Improved MSAA support with Image Effects, where previously the framebuffer load operation could have shown black screen instead. (none)
  • Metal: Various rendering correctness fixes. (none)
  • Mono: Use an IPv4 address (if one exists) before an IPv6 address for .NET remoting connections. (826526)
  • Mono/IL2CPP: Corrected a rare deadlock in the C# lock implementation. (827984)
  • Networking: Fixed an issue with SyncList hook having old value when it's invoked. (774970)
  • Networking: Fixed issue with infinitely growing profiler stats when more than one client is connected. (765235)
  • Networking: Fixed the SerializeProperty issues with NetworkManager inspector (channels and prefabs). (798973, 764771)
  • Networking: Made sure NetworkConnection is not null before usage. (770215)
  • Networking: Made sure we reset the NetworkIdentity on destruction. (784474)
  • Networking: Removed extra call to OnServerConnect. (784913)
  • Networking: Resolved issue with crash on exit with standalone player. (776536)
  • OpenVR: Entered playmode with unsupported gfx api = crash. (799533)
  • OS X: Fixed memory leak in joystick input handling code. (797793)
  • Particles: Fixed Out-of-memory crash when using Sub-Emtiters and long playback/preview times. (819599)
  • Particles: Particles: Size over lifetime label in the curve editor would incorrectly display "Z" label instead of "Size" when not using separate axis mode. (822051)
  • Particles: ParticleSystem.Emit would activate the emission module settings in a particle system. (819331)
  • Particles: Start frame in Texture Animation Module was allowed to be 1 frame longer than max frames. (786561)
  • SceneView: Fixed an issue where additive materials were not showing in Wireframe mode. (813117)
  • SceneView: Fixed an issue where the alpha color value had no affect to Wireframe. For the same reason Wireframes also appeared thicker. (810908, 823582)
  • SceneView: Fixed an issue where Wireframe was not showing when using stencil buffer in shaders. (795953)
  • Scripting: Coroutines now breaks out if yielding on the same coroutine twice. (813808)
  • Scripting: Detect and unload broken assemblies when processing InitializeOnLoad. (808748)
  • Scripting: Fixed a crash caused by SetActive being invoked from OnDestroy. (807000)
  • Shaders: Fixed frac(constant) sometimes being mis-compiled. (825235)
  • Shaders: Fixed shader compiler bug which could have caused errors in GLSL shaders that might crash the GPU on OSX. (none)
  • Shaders: Fixed UNITY_APPLY_FOG not working as expected if an expression was passed as fog coordinate. (822553)
  • SpritePacker: Fixed an issue where TightRotateEnabledSpritePackerPolicy flipped sprites in playmode. (773660)
  • Substance: Fixed a crash when switching build platform. (820301)
  • Substance: Fixed an asset import crash. (822217)
  • Textures: Correctly unregister external native textures. (786163)
  • Tizen: Resolved an error that didn't call OnApplicationQuit() when TaskManager killed the app. (none)
  • tvOS: Fixed the issue of UnityEngine.Apple.TV.Remote API not working in editor. (825406)
  • tvOS: Fixed the issues when menu button was clicked while playing videos. (814084)
  • tvOS: Fixed the UI to correctly activate tvOS keyboard. (747529)
  • UAP: Fixed an incorrect language being returned when system language was Spanish(Argentina). (820162)
  • UAP: Fixed the issue of incorrect resolution being reported when the composition scale changed and the game window was minimized. (832104)
  • UI: Fixed a memory leak caused by IntermediateRenderers not being cleaned up. (819470)
  • UI: Fixed a random crash in SyncElement caused by unknown parent canvas. (none)
  • UI: Fixed an issue with animating canvas properties not applying. (825435)
  • UI: Fixed an issue with Canvas sorting order being incorrect under certain cases. (821727)
  • UI: Fixed Canvas related crash when some elements are being deleted. (818122)
  • UI: Fixed the Canvas related crash when some elements are being deleted. (818294)
  • UI: Multiple display support is fixed and has been re-enabled. (741751)
  • UNET: OnDisconnectError "Server client disconnect error" is generated on timeout. (790431)
  • VCS: Marked some VCS settings as private. (642194)
  • VR: Fixed issue with WaitForEndOfFrame when VR is active. (none)
  • VR: Recreate when Oculus service requests restart. (none)
  • VR: Removed audio output warning when Unity Audio is Disabled. (826132)
  • WebGL: Fixed asset bundles memory usage at loading time, preventing some content to run on 32-bit browsers. (812567, 829765)
  • WebGL: Fixed compressed build files (.*gz) creation if they already exist. (818044)
  • WebGL: Fixed GUID code to return correct value instead of 00000000000000000000000000000000. (none)
  • WebRequest: More correctly follow the HTTP Specification for sending POST data during a Redirect. (814388)
  • Windows Store: Correctly reference SDK specific plugins in Universal 8.1 projects. (824400, 794675, 829404)
  • Windows Store: Fixed a WWW request formatting when headers contained 'content-type' in lower case instead of 'Content-Type'. (819349)
  • Windows Store: Fixed errors from reference rewriter when buidling script with nested generic types as fields. (827446)
  • Windows Store: Fixed invalid visual studio project generation on IL2CPP scripting backend when project name contains dots. (829141)
  • Windows Store: Fixed Unity PDB files not getting included into built .appxsym package. (831144)
  • Windows Store: Properly copy pdb files when .NET Native is enabled, breakpoints set in C# files in Assembly-CSharp* projects should work again. (822625)
  • Windows Store: SystemInfo.deviceType will return Console when application is ran on Xbox One, and Handheld when ran on IoT devices like Raspberry Pi. (827089)
  • Windows Store: UnityEvent.Remove listener will work correctly when .Net Native is enabled. (827748)
  • Windows: Fixed Unity crashing when initializing UnityEngine.Windows.Speech.KeywordRecognizer with an array that contains null string as one of its items (833091)
  • Windows: System resolution or orientation changes are now detected and responded to accordingly. (825230)
  • WindowsStandalone: Application launched with high integrity level will no longer act as low integrity application. (818601)
  • WWW/UnityWebRequest: Fixed the issue of handling multiple headers with the same name in server responses. (791722)

This also includes various bugs fixed in 5.3.x patch releases.

Revision: b7e030c65c9b

Changeset:
b7e030c65c9b

Third Party Notices

For more information please see our Open Source Software Licenses FAQ on the Unity Support Portal

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it