Release Notes Background

Unity 5.4.0 Beta

Get early access to features in the upcoming full release now.

Manual installs

Component installers

Release

5.4.0b9 Release Notes

Known Issues

  • After expand/collapse Unity Editor window looks corrupted. If you maximize/minimize/click on windows in Editor they'll return to normal state.
  • GPU Instancing: Instancing might get broken under glcore if graphics jobs are enabled.
  • Graphics: with the new jobs enabled, reflection probes might render incorrectly in rare cases.
  • In deferred rendering, lightmapped objects affected by mixed-mode lights will fallback to forward rendering.
  • On Windows with MSAA and Image Effects, game view can be rendered upside down
  • Shadows: Directional shadows will present shadow acnee when using a custom projection matrix and a very large frustum (20k+)
  • Using OpenVR + Vive + Outdated Oculus Utils = Crash. Users are advised to update their Oculus Utils
  • VR: Single-Pass-Stereo causes some lighting problems
  • [Billboard][LOD] Unity crashes when picking deleted Speedtree Billboard LOD level
  • [IMGUI][OSX][Regression] Detached tab is not moved slightly with the cursor after opening project with changed layout in 5.4
  • [Regression] RTP Terrain shader rendering is broken after upgrading project to 5.4

Features

  • VR: Native OpenVR support added
    • Note that native OpenVR support renders with an off-center asymmetric projection matrix. This means that any shaders which relied on fov / aspect may not work correctly.

Backwards Compatibility Breaking Changes

  • Shaders: Default shader compilation target was changed to "#pragma target 2.5" (SM3.0 on DX9, DX11 9.3 feature level on WinPhone). Can still target DX9 SM2.0 and DX11 9.1 feature level with "#pragma target 2.0". The majority of built-in shaders target 2.5 now. Notable exceptions are Unlit, VertexLit and fixed function shaders.

Improvements

  • Editor: Added support for resizing the height of the preferences window.
  • Shaders: ComputeBuffer data layout now matches between DX and automatically translated GL shaders. Action required: All OpenGL specific data layout tweaking in user scripts getting or setting data from ComputeBuffer should be removed.

Fixes

  • Animation: Fix to prevent crash when a clip is null for an animation extracted from an asset bundle, and whose dependencies have not loaded.
  • Asset Bundles: Fixed the source of error messages when building variant asset bundles.
  • AssetBundles: BuildAssetBundles will now switch back to the original Active Build Target when finished.
  • Editor: Fixed access violation in GUIView::GUIViewWndProc.
  • Editor: Fixed case of access to destroyed window during shutdown.
  • Editor: Fixed case of different color gradients & pickers being seen between Gamma and Linear space player settings
  • Editor: Fixed case of EditorJsonUtility throwing MissingMethodException.
  • Editor: Fixed changing order of components not getting saved. We now also support undo.
  • Editor: Fixed crash that could happen when animation window is open and playmode is entered
  • Graphics: Fixed case of crash after SetTargetBuffers and GameObject.SetActive(false).
  • Graphics: Fixed some cases of incorrectly detecting "destroy RT being assigned to Camera.targetTexture", resulting in losing Camera.targetTexture - e.g. in case of context-loss on DirectX or changing Emulation Layer in the Editor and such like.
  • Multiplayer: Fixed issue where wrong initialization connection amount could lead to system crash.
  • OpenGL: Fixed various corner case issues for GLSL shader generation on ComputeBuffer loads, stores and atomic ops
  • OpenGL: Windows fullscreen mode fixes
  • Physics: Fix to ensure that 2D Overlap/Cast checks use consistent 'skin' radius for all shapes
  • Physics: Fix to ensure that a Joint2D auto-configuration still works if joint is added from script.
  • Physics: Fix to ensure that a TargetJoint2D added via script allows collisions with static colliders.
  • Physics: Fix to ensure that changing Rigidbody2D.gravityScale whilst a Rigidbody2D.MovePosition is in progress now works.
  • Physics: Fix to stop Rigidbody2D with Interpolation being placed at world origin for a single update upon start.
  • Physics: Fixed case of center of mass and inertia tensor being reset after game object was reactivated.
  • Physics: Rigidbodies without non-trigger colliders can again have custom center of mass and inertia tensor.
  • Scripting: Always throw an exception when calling AssetDatabase methods from constructors and during serialization
  • Scripting: Deactivation order during built application shutdown is now consistent with normal scene unloading. Previously closing a built aplication could result in a NullReference exception.
  • Scripting: Fixed crash after calling DestroyImmediate(gameObject) in MonoBehaviour.Awake
  • Scripting: Fixed crash when accessing SerializedProperty.tooltip in some cases.
  • Scripting: Fixed issue with being unable to use ScriptableObject.CreateInstance with a nested ScriptableObject class
  • Standalone player: Fixed Application.persistentDataPath when Product Name contains invalid path character.
  • Templates: Fixed whitespaces in Editor Tests template
  • UI: Fixed ArgumentOutOfRange exception sometimes being thrown when editing InputField on mobile.
  • Visual Studio: Fixed crash when opening VisualStudio + improved VisualStudio startup performance
  • Windows: "Build & Run On" option will now work correctly with Universal Windows 10 Apps (it is no longer greyed out)
  • Windows: Screen.currentResolution() now returns desktop resolution instead of window screen resolution when application is in windowed mode.
  • Windows Store: Fixed support for JPEG images for tiles, splash screen etc.
  • Windows Store: SystemInfo.deviceType will now correctly report Handheld when running on Windows Phone 10.

The following are changes and fixes to 5.4.0 features and regressions...

Changes

  • Editor: Disabled 'reinstall package' feature when importing a package.
  • Editor: Removed the warning described by the following note, originally added in Alpha 6: "Added a warning if there are still managed threads running after exiting play-mode. The editor only stops all managed play-mode threads when entering play-mode and recompiling scripts."

Improvements

  • Graphics: GPU instancing no longer requires dynamic batching enabled.

Fixes

  • Android/IL2CPP: Fix to prevents a crash in the garbage collector when it attempts to scan a section of memory used for the code that may have been unmapped by the OS.
  • Editor: Fixed case of access to deleted object in WWWDelayCall.
  • Editor: Fixed case of ClearPersistentDirty call on deleted object.
  • Editor: Fixed case of read violation in CefInstance.
  • Editor: Fixed crash when dragging a prefab instance from one scene to another
  • IL2CPP: Fix to avoid crash when constructing error message.
  • IL2CPP: Fix to prevent generated C++ code from failing to compile with errors like "error: use of undeclared identifier 'L_5'" in some cases.
  • IL2CPP: Fix to properly marshal formatted classes.
  • IL2CPP: Fix to properly parse binary text assets.
  • Windows Store: Fixed case of scene starting while still showing Unity splash screen.
  • XBoxOne/IL2CPP: Fix to allow a call to Guid.NewGuid to work correctly.

Changeset: 04b47bfe5580

Third Party Notices

Looking for a different release?

Find the Unity version that’s compatible with your existing projects, or that provides you with specific features unavailable in newer versions.