5.4.0 Beta 15

Released: 18. April 2016

Download (Mac) Download (Windows)

Additional downloads

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.



Additional Resources

Release notes

5.4.0b15 Release Notes (Delta since b14)

Known Issues

  • Crash in ::RenderGameViewCameras:: after overflowing Width or Height fields of the Game view resolution window
  • In deferred rendering, light-mapped objects affected by mixed-mode lights will fallback to forward rendering.
  • OSX: ALLOC_TEMP_THREAD errors are shown after clicking 'Save' button while switching to imported scene
  • Shadows: Directional shadows will present shadow acne when using a custom projection matrix and a very large frustum (20k+)
  • Unity crashes when calling various methods on TerrainData with boundary values
  • Using OpenVR + Vive + Outdated Oculus Utils = Crash. Users are advised to update their Oculus Utils.
  • VR: Image effects do not currently work with single pass rendering.
  • VR: Some built-in shaders do not currently work with single pass rendering resulting in wrong transformations in right eye. Workaround is to manually include the shaders in your project.
  • Windows Store: Unity APIs which use multidimensional arrays as parameters don't work on UWP when .NET Native compilation is enabled (for ex., Master config). For ex., TerrainData.SetHeights. This includes all Unity versions where UWP is supported. The bug has been logged with Microsoft.
  • [GL] [Windows] Unity crashes or hangs with no respond on moving and undocking tabs
  • [iOS][Metal] Performance degradation in 5.4 with some custom shaders
  • [SinglePassStereo] Deferred rendering + spot and point lights stereo discrepancy

Improvements

  • Compute: Exposed ComputeShader.GetKernelThreadGroupSizes to query compute thread group sizes.
  • Windows Standalone: Added "Copy PDB files" option in build settings window, this way you can control to copy debugging files or not.

Fixes

  • Animation: Fixed a crash in the importer when all keyframes on a track are invalid.
  • Animation: Fixed copy/paste to a clip where associated properties don't exist.
  • Animation: Fixed Generic MatchTarget.
  • Animation: Fixed leaking scriptable objects in AnimationWindow.
  • AssetBundles: Fixed default lzma compression for BuildPipeline.BuildStreamedSceneAssetBundle.
  • Editor: Editor will show compiler errors in English while building to Windows Store Apps, even if Windows locale is not set to English.
  • Editor: Fixed exception when renaming script outside of the editor.
  • Editor: Fixed OSX native web view that would continue ticking its timer after being closed.
  • Editor: Fixed performance issue in SpriteInspector.
  • Editor: Prevent dragging of objects between different editor processes causing unintended behaviour.
  • Global Illumination: Change to warn when trying to update disabled reflection probe.
  • Shaders: Change to allow surface shaders to directly include "Lighting.cginc" to control where it is included.
  • tvOS: Change to disable Menu button when playing video if allowExitToHome is disabled.
  • tvOS: Change to make tvOS platform support installation independent from iOS platform support.
  • tvOS: Enabled movie playing on tvOS.
  • tvOS: Fix to enable game controller in tvOS on-screen keyboard.
  • tvOS: Fix to separate tvOS SDK and OS version settings from iOS.
  • tvOS: Fixed SetScriptingDefineSymbolsForGroup for tvOS
  • tvOS: Fixed Xcode plugin installation when it is done by tvOS platform support.
  • WebGL: Fixed issues launching WebGL content in iframes when third-party cookies are disabled.
  • WebGL: Improved performance of floating point Math in Chrome.
  • Windows Standalone: Game execution will no longer freeze while dragging window via title bar.

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

Improvements

  • Graphics: GPU instancing improvements
    • General performance is improved, specifically for scenarios where batches are broken due to mesh change or instanced property change.
    • Legacy deferred renderloop is now supported.
    • In forward renderloop when objects are rendered with add passes, the base passes now can be instanced. Note that you need to define UNITY_USE_CONCATENATED_MATRICES for add passes (though add pass itself can't be instanced) to avoid potential z-fighting issues in such a scenario, if you don't use instanced surface shaders.
  • Web: Change to use compression when available via the Accept-Encoding header for curl requests made from the Editor.
  • Web: Change to use compression when available via the Accept-Encoding header for curl requests made from the runtime.

Fixes

  • Analytics: Fixed case of analytics events not sending in editor after stopping and then starting play.
  • Android: Fixed intermittent crash when loading scenes.
  • Animation: Fixed an issue where rotation and scale wouldn't be animated in Legacy animation when other properties were animated.
  • Animation: Fixed case of empty animation clip being created when sprites are selected in project folder.
  • Animation: Fixed cull-all being too aggressive.
  • Animation: Fixed issue where opening "Configure Avatar" window would throw an error.
  • AssetBundles: Fixed possible crash when decompressing corrupted lzma bundles.
  • Editor: Change to make the Project tab (in New project page) not be in selected status.
  • Editor: Fix case of an incorrect window being displayed after pressing Backspace button in New Project page.
  • Editor: Fix case of wrong error message being emitted when returning license via command line.
  • Editor: Fix to prevent crash when padding ASTC textures when building from command line.
  • Editor: Fixed auto license stop updates issue
  • Editor: Fixed case of multi-selection picking passing through game objects.
  • Editor: Fixed case of selection base being re-selected when picking child game objects.
  • Editor: Fixed issue whereby the editor would request to re-login when network is not stable.
  • Editor: Removed SelectionBase from LOD Group.
  • Global Illumination: DynamicGI.indirectScale is now clamped.
  • Graphics: Fixed internal profiler for static batching on Android, iPhone and Metro
  • IL2CPP: Change to marshal an array of blittable structs passed by value, by simply passing a pointer to the array into the native code.
  • IL2CPP: Fix to properly handle type casts and is checks for value type arrays when they are casted to generic collection interfaces.
  • iOS: Apple Pencil pressure will now be exposed the same way that 3D Touch pressure already is.
  • iOS: Fix to ensure that AdSupport is included in the build, as it is present in frequent frameworks.
  • iOS: Fix to ensure that our symbols are not overridden by user libraries.
  • iOS: Fix to prevent non-prefixed freetype2 symbols from being exported.
  • iOS: Fixed TouchInputModule and StandaloneInputModule co-operation.
  • iOS: Switching between different input fields will no longer leave input accessory fields on screen.
  • Linux: Fixed webcam issue when user repeatedly stops/starts/pauses.
  • OpenGL: Fixed invalid shader code generation when using gl_PrimitiveID or bitFieldInsert().
  • Physics: Fix to ensure that changing a Collider2D property via the inspector doesn't reset the OnCollision or OnTrigger state back to 'Enter'.
  • Profiling: Change to disallow GPU profiling when graphics jobs are enabled.
  • Shaders: Change to make it possible to use texture arrays (UNITY_DECLARE_TEX2DARRAY etc.) in surface shaders without jumping through hoops.
  • Shaders: Upgrading a shader with a dx11 [annotation] at the start of the file no longer results in a crash.
  • Windows Store: Fix issue in the stack traces on IL2CPP scripting backend.
  • Windows Store: Fixed .NET native compiler crash when using managed plugin that already has an assembly initializer defined. One of such assemblies was "Rewired_Core.dll".
  • Windows Store: Fixed a crash when deserializing a struct with a list or an array inside from an empty json string.
  • Windows Store: Fixed issue that would cause failure to build player when there are plugins in the project that are marked "read-only".
  • Windows Store: When building scripts using Microsoft C# compiler on the il2cpp scripting backend, we now pass identical references as when using Mono C# compiler. This fixes issues that previously resulted in "SupportClass is already defined in another assembly" compiler errors.

5.4.0b15 Release Notes (Full)

Features

  • Asset Import: Support importing models with more than 100,000 objects
  • GI: Light Probe Proxy Volumes
    This component allows using more than one light probe sample for large dynamic objects (think large particle systems or important characters). This will sample probes into a 3D texture and use that in the shader.
    • Requires shader model 4 (DX11+/PS4/XB1/GLCore).
  • GI: Occlusion of the strongest mixed mode light is stored per light probe
  • Graphics: Added [ImageEffectAllowedInSceneView] attribute for Image Effects. This will copy the Image effect from the main camera onto the Scene View camera. This can be enabled / disabled in the Scene View effects menu.
  • Graphics: Basic GPU Instancing Support
    • Use GPU instancing to draw a large amount of identical geometries with very few draw calls.
    • Works with MeshRenderers that use the same material and the same mesh.
    • Only needs a few changes to your shader to enable it for instancing. Supports both custom vertex/fragment shader and surface shader.
    • Set per-instance shader properties from script via MaterialPropertyBlock.
    • Supports Graphics.DrawMesh command.
    • Supports Windows DX11/DX12 with SM 4.0 and up, OpenGL 4.1 and up on Windows/OSX/Linux.
  • Graphics: Fast texture copies via Graphics.CopyTexture.
  • Graphics: Graphics jobs can now be enabled (see player settings) for a potential performance boost. Currently in experimental status due to unknown project-dependent side effects.
  • Graphics: Texture Array support, seeTexture2DArray class.
  • IAP: Added support for fetching IAP products incrementally in batches.
    • FetchAdditionalProducts method added to IStoreController
  • IAP: Cloud catalog support
    A 'useCloudCatalog' boolean has been added to UnityEngine.Purchasing.ConfigurationBuilder. When set, Unity IAP will fetch your catalog of products for sale from the Unity cloud. Catalog is configured via the Unity Analytics dashboard.
  • iOS: Add URL schemes player setting
  • Kernel: The transform component has been rewritten using SIMD and a cache friendly data layout, the code is simpler and faster. As a result Transform.Setparent for large hieararchies can also be more expensive since all data for one hiearchy will always be tightly packed together.
  • OSX: Editor enabled retina support (text and some icons only)
  • Particles: Define particle width and height separately
  • Particles: Trigger Module
  • Physics: Expose ContactPoint.separation
  • Physics: Implement Physics.OverlapCapsule & Physics.OverlapCapsuleNonAlloc
  • Physics: Overlap recovery, used to depenetrate CharacterControllers from static objects when an overlap is detected. When activated, the CharacterController module will automatically try to resolve the penetration, and move the CharacterController to a safe place where it does not overlap other objects anymore.
  • Physics: Skip running the PhysX simulation step if not required by Rigidbodies or WheelColliders
  • Shaders: Uniform array support
    • Uniform arrays can be set by new array APIs on MaterialPropertyBlock.
    • The size of an array is lifted to 1023.
    • The old way of setting array elements by using number-suffixed names is deprecated.
  • Substance: Substance: ProceduralMaterials are now supported at runtime on Windows Store/Phone platforms
  • 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.
  • VR: Optimized Single-Pass Stereo Rendering available in Player settings
  • VR: VR Focus and ShouldQuit Support -Application Focus is now controlled by respective VR SDK when Virtual Reality Support is enabled. -Application will quit if the respective VR SDK tells the app to quit when Virtual Reality Support is enabled
  • VR: VR Multi Device Support
    • PlayerSettings: When the Virtual Reality Supported checkbox is checked, a prioritized list is shown allowing devs to choose which VR SDKs their game supports. (Similar to the Graphics API selection dialog)
    • VR SDK list is per build-target.
    • Dependencies (dlls, etc) will be copied to the build for every sdk in the list.
    • At startup, we’ll go down the list and try to initialize each device. If any fail to initialize (headset not connected, etc), we’ll move on to the next. If all fail, we won’t enter VR mode.
    • PlayerSettings: Deprecate PlayerSettings’ stereoscopic 3d checkbox. This goes through the same subsystem as the VR devices, so a non-headmounted stereoscopic driver is one of the possible devices on supporting platforms.
    • VR API: Deprecate VRDeviceType enum and VRSettings.loadedDevice. This is replaced with VRSettings.loadedDeviceName and VRSettings.LoadDeviceByName().
    • VR API: Add the ability to get a list of supported sdks. Readonly: string[] VRSettings.supportedDevices
  • Web: GamePerf service integration. You can now track your exceptions from the wild by enabling this in the services window
  • Web: WebPlayer support has been removed, and default player is the platform desktop being run on for the editor.
    • Therefore desktop platform installation choices are removed as being part of their respective editors.
  • Windows: Added speech recognition APIs under UnityEngine.Windows.Speech. These APIs are supported on all windows platforms as long as they're running on Windows 10: Windows Editor, Windows Standalone and Windows Store
  • Windows: Windows Standalone player now can be run in Low Integrity Mode by passing -runWithLowIntegritylevel command line argument
  • Windows Store: Add command line argument -dontConnectAcceleratorEvent to disable accelerator event based input. This disables support for some keys in Unity (like F10, Shift), but fixes issue with duplicate characters in some XAML controls.
  • Windows Store: Realtime global illumination now works when using Windows 10 SDK
  • Windows Store: UnityWebRequest now supported for all SDKs

Backwards Compatibility Breaking Changes

  • Android: WebCam no longer works on Gingerbread devices
  • Deployment Management: Any errors logged during the build process will now cause the build to fail. This includes errors that previously allowed the build to succeed anyway, such as shader compilation failures.
  • DX12: Introduced a new native plugin interface - IUnityGraphicsD3D12v2 . The old interface will not function anymore due to differences in internal graphics job submission.
  • Editor: Deprecated UnityEditor.ShaderUtil.ShaderPropertyTexDim; use Texture.dimension.
  • GI: Deprecated Light.actuallyLightmapped, use Light.isBaked and Light.bakedIndex instead. Baked Light got unique index, instead of the flag "actuallyLightmapped"
  • Graphics: Further deprecated Material(String) constructor - this will now always create a material with the error shader and print an error, in editor and player. It will be completely removed in a future Unity version.
  • Playables: refactored API so that Playables are struct instead of classes. Making the API allocation-less in c#.
  • Scripting: Added two new script errors in the editor for catching calls to the Unity API during serialization. See "Scripting Serialization" page in the manual for more details.
  • Scripting: To facilitate a memory optimization, UnityEngine.Object.GetInstanceID() is no longer thread safe.
  • Web: WebRequest interface was promoted from UnityEngine.Experimental.Networking to UnityEngine.Networking. Unity 5.2 and 5.3 projects that use UnityWebRequest will have to be updated.

Changes

  • Android: Assets - Disable texture streaming for Android
  • Android: Removed native activity implementation. An activity with the same name based on a regular Activity is still in place for backwards compatibility reasons.
  • Android: UnityPlayerNativeActivity and UnityPlayerProxyActivity has been deprecated and will print warnings to the logcat if in use.
  • Audio: Streamed audio clips are no longer preloaded. This is done to reduce the number of open file handles in scenes referencing a large number of streamed clips. Except for a slight increase in playback latency the behaviour is not affected.
  • Audio: Updated FMOD to 4.44.56
  • DX12: Disabled client/worker mode as a preparation step for pure threading (-force-gfx-mt now does nothing for DX12).
  • DX12: Enabled GPU profiler in single-threaded mode (-force-gfx-direct).
  • Editor: Editor will warn opening a project from any version not matching the projects matching last version string saved in information. This means even 5.4.0b1 to 5.4.0b2, or 5.4.0f3 to 5.4.0p1
  • Particles: Added particle radius parameter for world collisions.
  • Physics: Fix for Character Controller Physics causing capsule to be thrown in the air when exiting another collider
  • Samsung TV: Added Ignore BG Alpha Clear checkbox to Resolution section of Samsung TV player settings. This will disable the clearing of the alpha value for the background fill allowing for blending between Unity's render layer and the layer behind.
  • Shaders: Internal shader for computing screenspace cascaded shadows was moved into Graphics Settings. If you were overriding it before by just dropping it into the project -- now need the custom one via Graphics Settings.
  • Shaders: Removed support for EXT_shadow_samplers on non-iOS OpenGL ES 2.0 platform. Almost no devices outside of iOS have it, so there's no point in having larger shaders for that.
  • Terrain: Now terrain objects created in the scene will be properly renamed to avoid using the same name.
  • Terrain: When different TerrainData are used for Terrain and TerrainCollider component on one GameObject, a warning message is shown and a button to help fix the situation.
  • UI: Switch component menu name for RectMask2D to match class name

Improvements

  • Android: Added template for ProGuard obfuscation on exported project
  • Android: Application name now supports non-alphanumeric characters and spaces
  • Android: Audio - Don't select OpenSL output if the native device params are too bad for fast path (fixes audio issues on buggy devices)
  • Android: Buildpipe - Updated SDK tools requirements for the Editor
  • Android: Converted some fatal error messages to be presented on screen rather than printed to the logcat
  • Android: Editor - Added Marshmallow to the list of APIs
  • Android: Enhanced robustness of Location input
  • Android: IL2CPP - Use Android NDK x64 on x64 Windows Editor
  • Android: SoftInput - Get rid of hardcoded text color, switch to Light theme
  • Animation: Improved Animation event performance for repeat calls to the same events on components
  • Audio: Added virtualization of audio effects. For audio sources that are virtual because they have been culled due to low audibility or priority attached effect components or spatializers are now bypassed too in order to save CPU. The new behaviour is on by default but can be turned off in the audio project settings.
  • Audio: Audio clip waveform preview now displays the actual format used for compression when the default format isn’t available on a certain platform.
  • Audio: Fixed audio clip waveform preview rendering sync issues after import and improved the way the waveforms are being rendered to be more dynamic and reveal more detail.
  • Cache Server: Cache server: Improved the cache server so that it can properly handle scenarios when assets with missing references are being read.
  • Compute: Add DispatchIndirect function (similar to DrawProceduralIndirect - dispatching compute shader with parameters sourced from ComputeBuffer)
  • Compute: Improve error handling for compute shaders
  • Compute: Revamp API of hidden counters on ComputeBuffers to be more sane. Now optionally reset when bound, and can be explicitly set via SetCounterValue
  • Core: Add more profiling information to the PersistentManager
  • Core: Improved job execution. Spawn worker threads based on the number of logical processors instead of physical cores.
  • DX12: Introduced -force-d3d12-stablepowerstate command line parameter. Use it when profiling the GPU.
  • Editor: Added ability to hide the tetrahedron wireframe while editing light probe group.
  • Editor: Added cancel button to "Opening Visual Studio" progress dialog.
  • Editor: Added edit mode for light probe group to avoid accidental selection changes.
  • Editor: Always show the scene headers in the Hierarchy (also when only having one scene) to prevent confusion when loading and unloading scenes in play mode (scene headers was popping in and out). Also it makes it possible to see what scene is loaded in OSX fullscreen mode.
  • Editor: Fixed the title of the Script Execution Order inspector
  • Editor: In play mode the DontDestroyOnLoad scene will only be shown if it has game objects
  • GI: Added Lightmapping.realtimeGI and Lightmapping.bakedGI editor APIs
  • GI: Atlassing would generate atlases with wasted space when scaling down objects.
  • GI: Fixed a problem where we would always recompute Final Gather even if the result was in the cache.
  • GI: Improved mixing of realtime and baked shadows - removes shadow from the back-facing geometry, preserves bounce and contribution of other baked lights
  • GI: Store BakeEnlightenProbeSetJob results in hashed file to speed up rebaking of light probes.
  • GI: Upgraded to Enlighten 3.03
  • GI: Use HDR color picker for ambient color instead of color plus ambient intensity.
  • Graphics: Added a -window-mode command line argument to override full-screen behaviour. Options: exclusive, borderless.
  • Graphics: Added GL.Flush API.
  • Graphics: Added MaterialPropertyBlock.SetBuffer
  • Graphics: Added mechanism to tweak some unity shader defines per-platform per-shader-hardware-tier. Currently it is exposed only to scripts: see UnityEditor.Rendering namespace, specifically UnityEditor.Rendering.PlatformShaderSettings for tweakable settings and UnityEditor.Rendering.EditorGraphicsSettings for methods to get/set shader settings. Please note, that if settings are different for some tiers, shader variants for ALL tiers will be compiled, but duplicates will be still stripped from final build.
  • Graphics: Added TextureDimension enum, and Texture.dimension property.
  • Graphics: Added useLightProbes argument to Graphics.DrawMesh (defaults to true).
  • Graphics: Allow setting a slice of 3D/2DArray as a render target (Graphics.SetRenderTarget depthSlice argument).
  • Graphics: LOD: Reduced render batch breaking overhead due to LOD fading.
  • Installer: Mac Download Assistant will write additional logs to ~/Library/Logs/Unity/DownloadAssistant.log
  • iOS: Add device support for iPhone SE and iPad Pro 9.7"
  • iOS: Added Xcode 7.3 Build & Run support.
  • iOS: Use new Game Center APIs when possible
  • Physics: Added 'OneWayGrouping' property to PlatformEffector2D to group contacts.
  • Physics: Allow point editing in Inspector for Edge/PolygonCollider2D.
  • Scripting: Added new yield instruction: WaitForSecondsRealtime.
  • Scripting: Improved SendMessage performance for repeat calls to the same message on components
  • Scripting: ScriptUpdater asks whether to automatically update once per project session (i.e, a different project gets open or unity is restarted)
  • Serialization: Serialization depth limit warning now prints the serialization hierarchy that triggered the warning
  • Shaders: #pragma target 3.5, 4.5, 4.6 are accepted.
    • 3.5 - minimum version for texture arrays (DX11 SM4.0+, GL3+, GLES3+, Metal)
    • 4.5 - minimum version for compute shaders (DX11 SM5.0+, GL4.3+, GLES3.1+)
    • 4.6 - minimum version for tessellation (DX11 SM5.0+, GL4.1+, GLES3.1AEP+)
  • Shaders: Added PassFlags=OnlyDirectional pass tag. When used in ForwardBase pass, it makes sure that only ambient, light probe and main directional light information is passed. Non-important lights are not being passed as vertex light constants nor are put into SH data then.
  • Shaders: Added shader #pragma to allow easy/cheap variants of shaders across different tiers of hardware in the same renderer without needing keywords (e.g. iPhone 4 and iPhone 6, within gles)
  • Shaders: Improve shader translation performance when compiling shaders into OpenGL ES 2.0 & Metal
  • Shaders: Improved game data build times with many complex shaders, especially when they were already compiled before.
  • StackTrace: Deprecated Application.stackTraceLogType, use Application.SetStackTraceLogType/GetStackTraceLogType instead.
  • StackTrace: For StacktraceLogtype.None only the message will be printed (without file name or line number).
  • StackTrace: You can now set stacktrace log type in PlayerSettings for various log types.
  • Standalones: Add -hideWindow command line option to launch standalone applications with window hidden.
  • UI: Added a new property AscentCalculationMode to TrueTypeFont importer to control how font ascent value is determined.
  • UI: Align By Geometry now supports vertical alignment; this can be useful for cases where the font ascent/descent info has large uneven spacing.
  • UI: Created an empty RectMask2D editor and modified the selectable one to hide script fields
  • UI: Improved the way that line spacing affects leading in text generation to provide more predictable leading when line spacing is less than 1.
  • UI: Made more functions virtual inside Graphics class
  • Windows Store: System.operatingSystem will add '64 bit' postfix if target device has 64 bit CPU, more information in the docs.
  • Windows Store: Added bluetooth capability to player settings
  • Windows Store: Added UnityEngine.Ping class.
  • Windows Store: Fixed generated Visual Studio solution and Assembly-CSharp* projects, they will no longer rebuild needlessly. See upgrade guide for more information
  • Windows Store: Improved Visual Studio project generation, the solution shouldn't rebuild needlessly anymore, you might need to delete the old generated project so it can be regenerated
  • Windows Store: In player settings visual asset images are now edited using object fields
  • Windows Store: PDBs will now be included in the installers for "Release" players too (debug and master players already had PDBs included)

Fixes

  • 2D: Add tooltips for Size, Full Tile or Threshold on the 9-slice section of the Sprite Renderer
  • 2D: Fix error log 'GetLocalizedString is not allowed...'
  • 2D: Fix memory leak when applying changes to sprite
  • 2D: Packing crunched sprites crashes at crnlib::crn_comp::append_chunks
  • 2D: Text is clipped in the 2D preferences
  • AI: Agent was reporting no path when moving over OffMeshLink.
  • AI: Disable expanding the navmesh clipping hull beyond the collected list of affected polygons - could cause t-junctions.
  • AI: Fix issue where agents area cost settings were overwritten with global cost settings - when doing NavMeshAgent.CalculatePath.
  • AI: Navmesh carving would sometimes collapse degenerate triangles in a way that could affect other polygons.
  • AI: Prevent rare access of garbage memory of last node in navmesh bv-tree.
  • Android: Ensure device detected by the editor is online
  • Android: Fix bug in Texture.GetPixels for ETC compressed textures
  • Android: Fix for black screen or crash during startup on old PVR devices (Samsung Galaxy S I9000)
  • Android: Fix freeze in new splash screen when using threaded GfxDevice
  • Android: Fixed a crash related to the main context not being an Activity
  • Android: Fixed an issue where Ping wouldn't work in release mode
  • Android: fixed an issue where SystemInfo.deviceUniqueIdentifier would return an empty string on some x86 devices
  • Android: Fixed remote frame debugger
  • Android: LocationService - Fixed crash bug
  • Android: Marshmallow - Fixed issues when querying for custom permissions
  • Android: Mono - Fixed crash on startup with Unity Ads when stripping is enabled
  • Android: Mute audio if audio focus is lost
  • Android: PlayerPrefs - Fixed an issue where upgrading a lot of keys from a previous version of unity would cause an out of memory error
  • Android: Support OpenGL ES 3.0 on Vivante GPUs
  • Android: Tegra 2 - application no longer crashes if UnitySendMessage is called during initialization
  • Android/IL2CPP: Fixed build errors on NDK paths with whitespaces
  • Android/IL2CPP: Fixed crash on second startup after installation
  • Animation: Added an error when an AnimatorOverrideController can't find the animations to override in the base AnimatorController
  • Animation: Added AnimationClipPlayable.applyFootIK
  • Animation: Added better error messaging and handling for for AnimationCurves with invalid data.
  • Animation: Allow deletion of last keyframe in curve editor
  • Animation: Animation Window: Overridden virtual methods are now listed as potential Animation Event targets.
  • Animation: Changed parameter ordering in add property popup
  • Animation: Disabled multi-file editing of model scale because it wasn't working properly
  • Animation: Disabled play/record/key/... buttons on Animation window when viewing objects with optimized hierarchy
  • Animation: Disabled recording and playback ui in animation window when in game mode
  • Animation: Disabled reset menu item in component when animation mode is active.
  • Animation: Dragging sprite assets into the hierarchy window, then pressing cancel, deletes their parent GameObject
  • Animation: Fix animation clip length for bundled clip
  • Animation: Fix crash when changing OverrideController on Animator with no Avatar
  • Animation: Fix for deleted GameObject when cancelling AnimationClip creation on Sprite drop.
  • Animation: Fix import of humanoids when root object rotation is not identity. Mostly single root 3DSMAX models
  • Animation: Fix memory leak in AnimatorOverrideController
  • Animation: Fix RootMotion import for generic animation with parent with specific default values
  • Animation: Fix to prevent crash when a clip is null for an animation extracted from an asset bundle, and whose dependencies have not loaded.
  • Animation: Fixed 1st frame of Animation displaying default state of the object
  • Animation: Fixed a bug causing an offset between Set and Get of Animator.bodyPosition
  • Animation: Fixed a bug spewing errors when the animation mode was reset from saving the scene.
  • Animation: Fixed a bug where animations created using the "Create" menu would contain an empty Sprite track
  • Animation: Fixed a bug where auto keys at time 0 for rotation curves were slightly off
  • Animation: Fixed a bug where Rotation property would still be shown to be added even when it was animated
  • Animation: Fixed a bug where the animation window would try to access a deleted animator component and cause a crash
  • Animation: Fixed a case where animation events would be queued up when fireEvents is set to false
  • Animation: Fixed a case where copying transitions between state machines without copying destination would crash
  • Animation: Fixed a crash when trying to enumerate a list of 0 animations on the Animation component
  • Animation: Fixed adding an Animator via the AnimationWindow not dirtying the scene
  • Animation: Fixed an error in the inspector when selecting multiple files
  • Animation: Fixed an issue where animation events would be significantly slower when an object has a lot of components
  • Animation: Fixed an issue where AnimationPreview objects would get grabbed by FindGameObjectWithTag
  • Animation: Fixed an issue where Changing culling modes during runtime would not take effect correctly
  • Animation: Fixed an issue where changing the selected game object would leave the animated properties modified.
  • Animation: Fixed an issue where euler angles were being shown differently in 5.3 than in 5.2
  • Animation: Fixed an issue where events and additional curves in 0-length animations were popping errors
  • Animation: Fixed an issue where having animations with a mixed number of bones in a controller, and having Write Defaults to false would throw errors.
  • Animation: Fixed an issue where imported keyframes would overlap and get sorted in the wrong order
  • Animation: Fixed an issue where rotation keys created through the inspector defaulted to Quaternion curves instead of Euler curves.
  • Animation: Fixed an issue where Rotation values would change on save
  • Animation: Fixed an issue where Rotation values would stay applied to objects after exiting Animation Mode
  • Animation: Fixed an issue where switching to playmode and applying import properties to a Legacy Animation would crash
  • Animation: Fixed an issue where the ModelImporterClipAnimation inspector would not show properly when he Avatar Mask was empty
  • Animation: Fixed an issue with rotations staying applied after animating
  • Animation: Fixed an issue with stepped keys having the wrong value
  • Animation: Fixed animation event not firing for transition with exit time of 1 and duration of 0
  • Animation: Fixed animation in scene view not updating when deleting key in dopesheet editor.
  • Animation: Fixed Animation previewer not detecting properly target object to preview
  • Animation: Fixed Animation recording being broken in some cases.
  • Animation: Fixed animation window not updating to selection when out of focus or when just opened
  • Animation: Fixed AnimationClip.SampleAnimation leak
  • Animation: Fixed AnimationClipImporter inspector for Generic clips
  • Animation: Fixed AnimationClipPlayable.duration so that it returns the length of its AnimationClip
  • Animation: Fixed Animator Blend Tree layout issues with long motion names
  • Animation: Fixed Animator with state machine behaviour runtime compile error not firing callback on the right SMB
  • Animation: Fixed Animator.CrossFade failing when already crossfading
  • Animation: Fixed Animator.UpdateMode not being saved
  • Animation: Fixed AnimatorController vs AnimatorControllerPlayable not being reset the same way when modified.
  • Animation: Fixed AnimatorControllerPlayable.GetParameter crash
  • Animation: Fixed another issue where animation events would be significantly slower when an object has a lot of components
  • Animation: Fixed beeping sounds when pressing 'k' and 'c' hotkeys in the Animation Window.
  • Animation: Fixed blending not smooth when entering or leaving empty state.
  • Animation: Fixed broken Avatar Configure Tool when changing tabs with invalid Avatar
  • Animation: Fixed broken import of RootMotion transforms for Humanoid
  • Animation: Fixed case of animation compression distorting animation.
  • Animation: Fixed case of blend tree inspector not updating animator values in game mode.
  • Animation: Fixed case of incorrect transition shown in inspector when entering game mode.
  • Animation: Fixed case of missing transitions when undoing layer deletion in Animator Window.
  • Animation: Fixed case of playback not stopping when changing frame in the animation window.
  • Animation: Fixed case of sample rate not being taken into account when moving key frame in curve editor.
  • Animation: Fixed case of scene view not updating when changing clip in the animation window.
  • Animation: Fixed case of slider in curve editor and dope sheet editor resetting for clips of short duration.
  • Animation: Fixed case of state machine undo moving focus back to base layer.
  • Animation: Fixed clipped text for transition preview warning message
  • Animation: Fixed contextual menu operation on multiple selection in animation window hierarchy
  • Animation: Fixed crash when changing scripts while in play mode.
  • Animation: Fixed crash when deleting all euler keys in animation curve.
  • Animation: Fixed crash when deleting AnimatorController asset
  • Animation: Fixed crash when duplicating transition
  • Animation: Fixed crash when trying to copy Entry Transition
  • Animation: Fixed Crossfade called subsequently not properly interrupting transition.
  • Animation: Fixed Culled Animator still calling PrepareFrame
  • Animation: Fixed current frame not set properly in animation window at certain sample rates.
  • Animation: Fixed current time line getting broken in the AnimationWindow during resize of the window
  • Animation: Fixed curve editor range not updated when moving animation event.
  • Animation: Fixed curve selection loss in curve editor when move keys in dopesheet editor.
  • Animation: Fixed documentation for AvatarBuilder
  • Animation: Fixed dopesheet keyframe manipulation not registered.
  • Animation: Fixed error message in AnimationClip importer.
  • Animation: Fixed error message in console while optimizing animation hierarchy.
  • Animation: Fixed error message when adding color animation
  • Animation: Fixed error message when using BlendTree livelink
  • Animation: Fixed errors with unsupported functions and enum events
  • Animation: Fixed event window not showing up when pressing add animation event button
  • Animation: Fixed focus on search field when opening the add StateMachineBehaviour windows
  • Animation: Fixed frame clipping not performed when changing clips in curve editor.
  • Animation: Fixed frame number not updating during playback when it's being edited.
  • Animation: Fixed frame number not updating when pressing next/previous key frame button when it's being edited.
  • Animation: Fixed generating an avatar with AvatarBuilder returning an error if the HumanDescription doesn't include the whole hierarchy up to the topmost GameObject
  • Animation: Fixed ghost rename text field in animation window when changing selection
  • Animation: Fixed highlight at wrong index after drag&dropping layer in Animator.
  • Animation: Fixed inconsistencies in dopesheet editor and curve editor framing
  • Animation: Fixed inconsistency in tangent mode when a key frame is created between two with different tangent modes
  • Animation: Fixed issue where it was not possible to change clip when Animation Window is locked.
  • Animation: Fixed issue whereby animation events could be added to read-only animation clips.
  • Animation: Fixed issue whereby property or keyframe deletion in read-only clip was not disabled in Animation Window.
  • Animation: Fixed issues when drag&dropping sprite into a clip with no existing sprites.
  • Animation: Fixed issues with 2D elements creating unwanted keyframes in the animation window when enabled/disabled
  • Animation: Fixed key editing over duplicates issues in curve editor
  • Animation: Fixed LayersAffectMassCenter with ControllerPlayable
  • Animation: Fixed live link to OverrideController
  • Animation: Fixed long Animator.Update not playing all Events/ExitTimes
  • Animation: Fixed long start play mode for scene with a lot of controller
  • Animation: Fixed loss of animation window selection when selecting child game objects.
  • Animation: Fixed missing operation when dragging dope key outside of viewport
  • Animation: Fixed missing undo when renaming binding in animation window.
  • Animation: Fixed missing update to inspector when adding or removing property while recording animation.
  • Animation: Fixed negative value in frame navigation ui not prevented
  • Animation: Fixed NullReferenceException in Animation window when deleting the GO that is played
  • Animation: Fixed NullReferenceExceptions when deleting a state when after opening a project from 4.x
  • Animation: Fixed numerical issues in next/previous frame scrubbing of animation window.
  • Animation: Fixed offset when drag&dropping sprites in animation window
  • Animation: Fixed OpenGL errors showing in console when closing "Add Property" popup window
  • Animation: Fixed Play/Pause/Step Buttons not turning red when entering AnimationWindow recording
  • Animation: Fixed property added in recording mode to read-only clip
  • Animation: Fixed property value not getting unselected on mouse down in animation window.
  • Animation: Fixed scale value getting zeroed when removing scale curve components in AnimationWindow.
  • Animation: Fixed scene not being dirtied when AnimatorController changes on Animator.
  • Animation: Fixed StateMachineBehaviour not updating when changing AnimatorController at runtime.
  • Animation: Fixed StateMachineBehaviours on layer not being called properly.
  • Animation: Fixed StateMachineTransition being displayed as EntryTransition
  • Animation: Fixed text editing overlay remaining active in animation window when losing focus
  • Animation: Fixed the display order of properties in the animation window to be the same as instantiation in component.
  • Animation: Fixed transition previewer getting infinite loop with some transitions
  • Animation: Fixed Unable to drag&drop sprite in a game object with multiple bindings available
  • Animation: Fixed unremovable property in the animation window.
  • Animation: Fixed unresponsive animation window when zoomed out beyond a certain level
  • Animation: Implemented API for tangentMode in AnimationUtility
  • Animation: ModelImporter.defaultClipAnimation should return the default mask
  • Animation: Optimized AvatarMask inspector.
  • Animation: Prevent Animation Event from being created with negative time.
  • Animation: Removed modal dialog showing when removing states or transitions in the animator window.
  • Animation: Removed the animator property "enabled" from the list of animatable properties in the animation window.
  • Animation: Renamed interpolation Euler Angles (Quaternion Approximation) to Euler Angles (Quaternion) for simplicity
  • Animation: Root motion not applied on single object
  • Animation: Rotate tool rotates wrong for object with negatively scaled parent
  • Animation: Rotation value changes on play mode a little bit
  • Animation: Unity hard-crashes when importing blender rigify model
  • Asset Bundles: Fixed the source of error messages when building variant asset bundles.
  • Asset Import: Fix issue with fileScale value always set to 1 on first import
  • Asset Import: Support of Blender 2.77 and later
  • Asset Loading: Asset Loading: Fixed possible crash when loading multiple asset bundles simultaneously
  • Asset Loading: AssetLoading: Fix excessive memory usage when decompressing assetbundles with many objects inside (very large serializedfile)
  • AssetBundles: AssetBundles: Loading AssetBundles via WWW outside of playmode now works correctly.
  • AssetBundles: BuildAssetBundles will now switch back to the original Active Build Target when finished.
  • AssetLoading: Fixed asset bundle read error when compressed data could be read as uncompressed
  • AssetLoading: Fixed possible assetbundle caching error when starting multiple downloads with an empty cache
  • AssetLoading: Fixed thread hang after filesystem error when decompressing assetbundle data to the cache
  • Audio: Audio Low Pass Filter didn't work on Audio Listener
  • Audio: Audio Profiler shows "wrong" information when using Spatialization
  • Audio: Audio profiler: Added separator lines between columns, adapted initial column widths to fit and added support for horizontal scrolling.
  • Audio: AudioMixer.GetFloat() / SetFloat() did not work unless Unity was restarted.
  • Audio: Fixed mixer reverb effects getting cut off early in standalone builds.
  • Audio: Fixed random mixup between internal direct and reverb signal connections which could cause AudioSources to interfere and become silent under certain conditions.
  • Audio: Large numbers of streaming audio clips caused crashes in batch mode.
  • Audio: Microphone.IsRecording(null) was returning true even when no devices were available.
  • Audio: Native audio plugin SDK - Fixed dspbuffersize having a value of 0 in when default buffer size settings are selected.
  • Audio: No longer shows "Failed to initialize spatializer" warning when Spatializer Plugin is set to "None".
  • Audio: Preloaded sounds didn’t allow calling GetData in Start().
  • Audio: Project browser wasn’t updating after a change had been applied in the AudioImporterInspector.
  • Audio: Sounds marked as Play On Awake were not shown in audio profiler.
  • Compute: Avoid constant buffer overwrites when passing too wide data (e.g. Vector4 for a float3 constant)
  • Compute: Better error messages when creating compute buffers to pinpoint the problem
  • Compute: Do not log warnings/errors when current build target does not support compute shaders
  • Compute: Don't dispatch a program that uses >8 UAVs on platforms that don't support that (ie. D3D11 before 11.1 etc), and print a warning on import that this won't work
  • Compute: Fixed bugs on HLSL to GLSL compute shader translation with atomic ops.
  • Compute: Improved support for bool parameters for compute shaders
  • Connect: Opening "last loaded project" upon unity start up will not unlink project anymore from its organization
  • Core: Fix crash when deleting child-object when prefab connection is lost
  • Core: Fix deletion order of depending components
  • Core: Fix for prefabs not updating the root order property modification under certain circumstances.
  • Core: Fix for silent asset overwrite when importing a package via "openfile" (aka double-click)
  • Core: Fix Issues with import of '~' folders (ignored folders)
  • Core: Fix not being able to return license
  • Core: Fixed asset importer error when calling AssetDatabase.Refresh() during import of assembly
  • Core: Fixed issues with ScritableObjects added as sub-objects to assets
  • Core: Fixed memory corruption in enlighten scene mapping
  • Core: Return error messages for invalid locationPathName parameter values for BuildPipeline.BuildPlayer
  • Documentation: Restored lost documentation for RenderTargetSetup.
  • DX11: Fixed errors when trying to create floating point textures in linear color space, with mismatching flags.
  • Editor: Adjusted the width of the 'Build Settings' window so that it displays its contents correctly, even if support for some of the players is not currently available.
  • Editor: Copying a directory onto itself will no longer incorrectly recurse.
  • Editor: CTRL/CMD + marquee select now correctly subtracts from selection in light probe group editor
  • Editor: EditorGUIUtility.ObjectContent now adds type information to the text string as shown for ObjectFields: E.g: "Concrete (Texture2D)" instead of "Concrete".
  • Editor: Fix a now perfectly OK assert that can happen when alt-tabbing back.
  • Editor: Fix editor crash when locking cursor from constructor or static initializer
  • Editor: Fix editor freeze when picking in scene view with a lot of overlapping game objects
  • Editor: Fix for null errors when dragging in prefabs into scene view
  • Editor: Fix Lose all keyboard shortcut when focus is in connect windows or asset store on windows
  • Editor: Fix null ref configuring Avatar
  • Editor: Fix scene view crash if internal scene view camera is disabled
  • Editor: Fix to prevent the following error: "GetEditorTargetName is not allowed to be called from a MonoBehaviour constructor, call it in Awake or Start instead".
  • Editor: Fix toggling of asset store window full screen mode
  • Editor: Fix warning when deleting an open scene in the assets folder and then saving the scene from the hierarchy windows
  • Editor: Fixed a bug in the property diff recorder would insert property modification on the prefab asset if it was being edited in the inspector
  • Editor: Fixed a Mac-only crash when importing some textures.
  • Editor: Fixed access violation in GUIView::GUIViewWndProc.
  • Editor: Fixed an issue that could cause scenes containing prefab instances with driven transforms to immediately become dirty.
  • Editor: Fixed camera preview sometimes not taking manually overriden projection matrix into account
  • 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
  • Editor: Fixed curves in particle system inspector not showing negative values initially
  • Editor: Fixed scenes containing prefab instances becoming dirty on load
  • Editor: Fixed squashed vector fields in material editor
  • Editor: Fixed when dragging a second scene to Hierarchy the first scene would auto expand
  • Editor: Home window close after sign in
  • Editor: Improved selected object wireframe overlay look when MSAA is used
  • Editor: Prevent crash when closing Unity with detached Asset Store window
  • Editor: Prevent scene data corruption from cross scene game object references. Game Objects from a different scene was duplicated into the scene that was referencing it when the scene was saved.
  • Editor: Show a warning in camera inspector when it wants deferred but is set to ortho
  • Editor: [PlayerSettings] After changing Graphics API some UI elements do not respond correctly
  • Editor - Other: Fixed [Editor, A$] Unity crashes when closing it with detached Asset Store window
  • GI: "Edit" button for non-editable lightmap parameter assets now says "View"
  • GI: Added a note in Lighting window when reflection source is not set
  • GI: Disallow negative importance for reflection probes.
  • GI: Fix baked transparency not applied to AO
  • GI: Fix baked transparency textures not using tiling and offset values
  • GI: Fix crash when making object lightmap static
  • GI: Fix fallback to non-directional lightmaps on SM2.0 hardware
  • GI: Fixed black (NaN) artifacts produced in rendering by invalid directional lightmaps
  • GI: Fixed errors when using baked lightmaps & multi-scene editing
  • GI: Fixed issue of changing lightmap directionality mode corrupting the scene rendering.
  • GI: Fixed missing ambient when AmbientGI is set to Baked, but BakedGI is disabled.
  • GI: Fixed mixed mode shadows do not render with "Directional Specular" lightmapping mode for non-static objects.
  • GI: Fixed orientation of skybox when computing ambient probe on Windows and Linux.
  • GI: Fixed scene view GI visualizations sometimes not working properly
  • GI: Fixed some directional specular lightmap artifacts
  • GI: Improved Lighting window preview of very small lightmaps
  • GI: Improved name of Default lightmapping parameters asset
  • GI: Make substances work with baked transparency.
  • GI: Refresh light probe connections when editing probe position via inspector
  • Global Illumination: Fixed a reflection probe baking issue in multi scene editing.
  • Global Illumination: Fixed issue whereby changing Reflection Probe component positioning in the inspector makes realtime probe black.
  • Global Illumination: Fixed multi-scene baking
  • Global Illumination: In editor, avoid some of automatic GI overhead when GI is turned off
  • Graphics: Added profiler markers on async texture loading waits
  • Graphics: Apply material keywords when drawing from command buffers
  • Graphics: DX12: Implemented support for ShadowSamplingMode.
  • Graphics: Filter out duplicate graphics APIs in PlayerSettings.SetGraphicsAPIs
  • Graphics: Fix crash trying to set shader name on shader that failed to compile
  • Graphics: Fix crash when calling Texture.Compress for large textures
  • Graphics: Fixed an issue with Texture2D.LoadImageIntoTexture() -> Texture2D.Apply() not generating mipmaps if the Texture2D object didn't have actual mipmaps previously.
  • Graphics: Fixed case of crash after SetTargetBuffers and GameObject.SetActive(false).
  • Graphics: Fixed Crunch texture compression artifacts caused by integer overflow
  • Graphics: Fixed material file content is non-deterministic in Editor - order of properties in a '.mat' file changes
  • Graphics: Fixed material index not being used when calling Graphics.DrawMeshNow with rotation
  • Graphics: Fixed meshes with large scale and blend shapes sometimes not being lit correctly
  • Graphics: Fixed null reference exception being thrown when setting null to mesh triangles/indices
  • Graphics: Fixed potential problem capturing frames in RenderDoc
  • Graphics: Fixed problem of being able to set syncUploadBufferSize below 2 which leads application to crash on startup
  • Graphics: Fixed profiling related information (SetGpuProgramName) performance issue in development player builds. (to 5.3 too)
  • Graphics: Fixed shadow artifact when no shadow caster is in the view frustum.
  • 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.
  • Graphics: Graphics: Fix performance regression in dynamic batching on Adreno and Mali GPUs
  • Graphics: Improved feedback on Recalculate Bounds in LODGroup inspector.
  • Graphics: Newly created line renderers and trail renderers will have light probes and reflection probes disabled by default.
  • Graphics: Prevent spam of D3D11 warning messages setting resource names
  • Graphics: RenderTextures that have IsCreated==false will now consistently render black if bound, instead of undefined results.
  • Graphics: Static batching can batch somewhat more objects now. Previously had a limit of 32k indices, now 64k. 32k limit stays on Mac due to driver issues.
  • Graphics: Textures imported as cubemaps now are properly marked as non-readable if import option says so. Saves memory! (coming to 5.3 too)
  • Graphics - General: Fixed [DX12] CPU profiler timeline view broken
  • IAP: If a store implementation notified Unity IAP of a purchase for a product that was unknown to Unity IAP, the application did not receive a ProcessPurchase invocation. ProcessPurchase will now be invoked in this scenario.
  • IL2CPP: Fix NavMesh stripping issue
  • IL2CPP: Fixed an issue which caused "callback cannot take parameters" error message if there was a DLL in the project that inherited from animation state machine classes, but project did not use animation.
  • IMGUI: Fixed CurveEditor's OnGUI Repaint early-out not respecting control ID's
  • IMGUI: Fixed GenericMenu shortcut keys are not displayed
  • IMGUI: Fixed Make BeginVertical behave like BeginHorizontal.
  • IMGUI: Fixed Material Property Drawer does not display a slider or drop-down menu
  • IMGUI: Fixed NullReferenceException in plugin crashes Unity at GUIStyle::Draw
  • IMGUI: IMGNullReferenceException in plugin crashes Unity at GUIStyle::Draw
  • iOS: Add font containing Lao characters to the fallback list
  • iOS: Don't duplicate AdSupport in plugin inspector
  • iOS: Don't override iPod music when corresponding player setting is not set
  • iOS: Fix crash on iOS 6.0 devices
  • iOS: Fix Korean, Indian and Hebrew font fallbacks
  • iOS: Fixed excessive file descriptors usage when opening asset bundle from disk (cache or StreamingAssets folder)
  • iOS: iOS/OSX: Fix text rendering performance regression
  • iOS: OS: Ensure asset bundles are not flagged for iCloud backup by default upon download.
  • iOS: viewWillTransitionToSize will now be passed to super even if we disallow orientations (helps plugins that use presentation controllers)
  • iOS: Work around launch screen asset catalog bug
  • iOS/tvOS: Build all object files with correct SDK
  • Linux: Fix flickering/corrupted rendering with OpenGL Core
  • Linux: Fix non-native-resolution fullscreen rendering with OpenGL Core
  • Mac Editor: Added functionality in order to prevent the processing of folders that contain the ".unity" extension, as this was causing the editor to crash when executing in batch mode.
  • Metal: Fixed case of native RenderBuffer query failing in case of multi-threaded rendering.
  • Mono: Correct a crash in mono_string_to_utf8_checked when Marshal.StructureToPtr is called from managed code.
  • Mono: Implement IPv6 support on Windows.
  • MonoDevelop: Disabled Git, Subversion and NUnit add-ins by default. Fixes issue with being unable to write to newly created scripts
  • MonoDevelop: Fixed issue with MonoDevelop showing "��u" symbols in document view after using "Save As"
  • MonoDevelop: Fixed issue with MonoDevelop sometimes giving focus to the wrong script when opened from Unity
  • MonoDevelop: OSX: Fixed issue with MonoDevelop not working when copied to case-sensitive partition
  • MonoDevelop: Show hint in breakpoints dialog that explains exceptions list is generated from currently selected project
  • Multiplayer: Clean up MatchInfo UI in the NetworkManager play mode inspector
  • Multiplayer: Disabled host migration on WebGL clients (they can't become host)
  • Multiplayer: Disallow sending NetworkConnection object in commands
  • Multiplayer: Explicitly Dispose() WWW object in MatchMaker callback handler when done with it.
  • Multiplayer: Fixed an issue where specifying http:// or https:// in the MatchMaker URI could cause the system to fail to connect to MatchMaker
  • Multiplayer: Fixed bug where connecting to a non https MatchMaker after joining 1 match would fail in all cases
  • Multiplayer: Fixed issue where an error response from the server could lead to undesirable console output in non error cases when setting the match auth token
  • Multiplayer: Fixed issue where default matchmaker port was 80 instead of 443 in 1 code path
  • Multiplayer: Fixed issue where SyncLists didn't use the configured channel
  • Multiplayer: Fixed issue where wrong initialization connection amount could lead to system crash.
  • Multiplayer: Fixed issue with ClientScene.objects list increasing after every host migration
  • Multiplayer: Fixed issue with matchSize being incorrectly used from a join match response
  • Multiplayer: Fixed issue with OnStartAuthority being called twice on player with local authority on host
  • Multiplayer: Fixed UI panel on NetworkManager for match max size and name, as well as add in tooltip info for both
  • Multiplayer: Fixed up MatchMaker URI to be correct with http:// prefix as default
  • Multiplayer: Minor improvement to network manager HUD ('connecting' state and cancel button)
  • Multiplayer: Networking: Fixed lobby issue where it would reject new players when there was still one slot left.
  • Multiplayer: Removed annoying warning: "no free events", and "Attempt to send to not connected connection", as well as fix ack doesn't reset with connection resetting bug
  • Multiplayer: SyncList now sends updates only when a value assignment changes the current value
  • Networking: Fixed issue where the client was unable to free connections in NetworkServer when using WebSocket.
  • Networking: Fixed issue whereby transferring data via reliable sequenced qos channel could result in lost messages in "bad" network conditions.
  • Occlusion Culling: Fixed broken portal visualization in some cases.
  • Occlusion Culling: Fixed visualization when changing scenes.
  • OpenGL: Fix for non-working binary shader cache with OpenGL ES 2
  • OpenGL: Fixed various corner case issues for GLSL shader generation on ComputeBuffer loads, stores and atomic ops
  • OpenGL: Windows fullscreen mode fixes
  • OSX: Menu bar in standalone player no longer blocks the main player loop from updating
  • Particles: Collider visualization was not scaling with transform
  • Particles: Disable size/rotation properly when toggling 3D in the editor
  • Particles: Disabling unused UI options
  • Particles: Ensure no garbage is generated when using some script commands
  • Particles: Faster mesh data caching, plus memory usage optimization
  • Particles: Fix case of scale not being applied correctly to AABB in the TrailRenderer
  • Particles: Fix crash when mesh is missing inside player (eg a default mesh is used)
  • Particles: Fix error message when particles have zero velocity and start inside a collider
  • Particles: Fix particle shader preview to display a flat plane instead of a sphere
  • Particles: Fix stretch particle bounds to avoid culling errors
  • Particles: Fixed bug with scripted particle emission API
  • Particles: Fixed crashes with null curves and gradients
  • Particles: Fixed culling when using SetParticles in standalone
  • Particles: Fixed debug plane visualization
  • Particles: Fixed IsFinite error spam with particles and second camera.
  • Particles: Fixed issue where particle system is stopped and cleared and after that it won't play when simulation space set to local.
  • Particles: Fixed mesh double scaling issues
  • Particles: Fixed particle system only playing once.
  • Particles: Fixed particle systemm not playing when triggered via Event Trigger.
  • Particles: Fixed particles are not drawn in the correct order on rotated particle systems.
  • Particles: Fixed particles disappearing after going offscreen and returning.
  • Particles: Fixed particles systems not looping correctly.
  • Particles: Fixed ParticleSystem.IsAlive() always returns True for particle systems with longer duration
  • Particles: Fixed Shape Module error when shader doesn't have _Color property
  • Particles: Fixed wrong culling of some particle objects caused by incorrect bounds calculation due to parent scaling.
  • Particles: Fixing collision events to ensure correct events are sent to correct gameobjects
  • Particles: Fixing Skinned Mesh Renderer Shape crash when its material was missing
  • Particles: Give subemitters better default names, based on their context (birth, death etc)
  • Particles: Hiding "Angle" option in Shape Module when it is not relevant
  • Particles: Improve mesh particle error message, when buffers re full
  • Particles: LimitVelocityOverLifetime module shouldn't allow negative values
  • Particles: Max Collision Shapes option cannot be negative
  • Particles: Particle system doesn't play if method is called via Invoke fixed.
  • Particles: Particles are now emitted with the correct position//rotation when using a Skinned Mesh Renderer or Mesh Renderer as shape.
  • Particles: Preserve stopEmitting parameter when becoming visible (culling fix)
  • Particles: Renaming Particle.lifetime property to Particle.remainingLifetime for clarity
  • Particles: Reverse 3D rotation direction, for consistency with existing 1D rotation
  • Particles: Size over lifetime using separate axes wasn't always working
  • Particles: Support radius in Trigger Module
  • Particles: Texture Sheet Animations could incorrectly loop back to the first frame at the end of their animation
  • Particles: Trigger Module crashed when assigning the wrong list type via script
  • Particles: Trigger Module wasn't spawning death sub emitters
  • Particles: Visualize Bounds did not scale the debug rendering correctly
  • Physics: Ensure that animating a Joint2D property always updates the joint immediately.
  • Physics: Ensure that auto-configuration properties for Joint2D update the joint immediately.
  • Physics: Ensure that buoyancy forces take into account the Rigidbody2D gravity-scale.
  • Physics: Ensure that when recalculating contacts for an Effector2D, all relevant Rigidbody2D are woken.
  • Physics: Ensure we don't pass infinite radius into PhysX overlap
  • Physics: Fix crash when setting a frequency of zero on the TargetJoint2D.
  • Physics: Fix inertia tensor being broken after a new Collider was added to the Rigidbody
  • 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 an issue where a static trigger collider would not report a contact when moved.
  • Physics: Fixed case of center of mass and inertia tensor being reset after game object was reactivated.
  • Physics: Fixed crash when disabling Colliders from OnTriggerStay callbacks.
  • Physics: Fixed HingeJoint setup issue when changing isKinematic property on attached Rigidbody
  • Physics: PlatformEffector2D now supports negative scaling on parent Transform.
  • Physics: Rigidbodies without non-trigger colliders can again have custom center of mass and inertia tensor.
  • Physics: Stop TargetJoint2D crashing when using a Kinematic Rigidbody2D.
  • Physics2D: Fixed case of Collision2D.relativeVelocity being reported with incorrect values.
  • Physics2D: Fixed issue with dragging a Sprite/Texture2D into the inspector, causing a PolygonCollider2D to use it even though it is not dropped on the component.
  • Player: Checking/unchecking the 'Windowed' checkbox will no longer reset the screen resolution.
  • Plugins: Fixed Editor crash, when trying to set plugin settings for deprecated platforms.
  • Plugins: Fixed issue with Android plugins, some of the were treated as folder plugins, for ex.,Assets/Plugins/Android/SimpleJarPlugin.java
  • Plugins: Native plugins will correctly initialize their settings on import and this will be reflected in meta file.
  • Profiler: Fix excessive memory usage when starting development player
  • Profiler: Fixed incorrect time displaying in CPU profiler if time exceeded 5 seconds
  • 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: Debug.Log won't consume memory when StackTraceLogType is None
  • Scripting: Fix crash on FieldInfo.SetValue and FieldInfo.GetValue when field is not defined on target object specified
  • Scripting: Fix issue that causes UnityScript to incorrectly detect some methods return type
  • 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
  • Scripting: Fixed OnAudioFilterRead() crash.
  • Scripting: GetHashCode() on UnityEngine.Object derived classes no longer changes when the object is destroyed.
  • Scripting: GetTransform<>() invoked from a constructor or field initializer could crash Unity.
  • Scripting: Prevent an ExecutionEngineException in System.Reflection.MonoProperty::GetterAdapterFrame when Mono AOT or IL2CPP is used with the .NET 2.0 profile.
  • Shaders: Do not overwrite alpha if opaque surface shader deferred pass writes to occlusion.
  • Shaders: Don't create depth buffer temporary textures created by GrabPass.
  • Shaders: Fix DX11 shader disassembly not showing correctly in the editor UI for 'show compiled code'.
  • Shaders: Fix PBS surface shader compilation when Occlusion output is not present.
  • Shaders: Fix standard shader artifacts caused by precision problems on OpenGL ES 3 mobiles
  • Shaders: Fixed case of animated standard shader Emission being wrongly overriden by material inspector
  • Shaders: Fixed UTF8 BOM in compute shader include files not being understood properly.
  • Shaders: Fixed very small or very large default shader property values not being serialized correctly.
  • Shaders: Overwrite diffuse alpha channel in opaque shader before finalGBufferModifier is applied.
  • Shaders: Reduce number of DX11 samplers used by Standard shader (two reflection probes share a sampler; and three LPPV textures share a sampler)
  • Shaders: Reimport compute shaders from the same folder when .cginc is modified, just like regular shaders are.
  • Shaders: Some optimizations for surface shader importing time.
  • Shaders: _CameraDepthTexture is now preserved across calls to RenderWithShader()
  • Shadows: Add animation support of light shadow near plane
  • Shadows: Fixed shadow error messages happening in some cases
  • Shadows: Fixed shadows disappearing for some off-screen shadows casters
  • Shadows: Prevent setting out-of-range shadow strength
  • SpeedTree: Fixed performance regression when lots of Tree components present in the scene.
  • Standalone player: Fixed Application.persistentDataPath when Product Name contains invalid path character.
  • Substance: Fixed corner cases of outputs not being impacted by any input not being generated
  • Templates: Fixed whitespaces in Editor Tests template
  • Terrain: Fixed crash when using SpeedTree wind with SpeedTree trees painted on terrain.
  • Terrain: TerrainData marked as DontSave now won't crash the Editor on quit.
  • TreeEditor: TreeBaked textures are no longer tinted to current fog color.
  • tvOS: Duplicate another image layer when not all are defined
  • tvOS: Fix rendering path selector in player settings
  • UI: Added a delay to calling UpdateRectTransform when Canvas is created. An update changed the behavior prior to 5.2 which will cause issues for many users who have nested canvas that are created using instantiate as the RectTransform was updated before they could re-parent the Canvas. With a delay we maintain the previous behavior and also keep the original fix.
  • UI: Added fix so that the placeholder text is enabled when the InputField is deactivated and the text is empty.
  • UI: Added validation and character limit to the set of the InputField text property.
  • UI: Ensure the dropdown component is enabled before trying to start the coroutine
  • UI: Fixed a bug in Unity Editor's DelayedTextField where it was losing edit progress when moving focus to a checkbox or dropdown.
  • UI: Fixed ArgumentCache.TidyAssemblyTypeName allocating memory everytime. It is now alloc-free except the first time deserializing deprecated data
  • UI: Fixed ArgumentOutOfRange exception sometimes being thrown when editing InputField on mobile.
  • UI: Fixed first color crossfade tween cancelling subsequent tweens while running
  • UI: Fixed incorrect line height with embedded quads in rich text
  • UI: Fixed issue where dirty CanvasRenderers of disabled canvas's would be added to the dirtylist causing a null reference crash
  • UI: Fixed issue where if two elements were incorrectly ordered if they were in the same sorting bucket
  • UI: Fixed issue with null reference error in Graphic on reload
  • UI: Fixed the issue with the font importer inspector getting dirtied each time it was enabled.
  • UI: If the InverseMatrix of the canvas changes we need to dirty the batch to redraw at correct location
  • UI: Multiple display support disabled on all platforms except WiiU and 3DS. This will be re-enabled once the non-native resolution bug is fixed.
  • UI: Strip \n,\t from InputField text when in single line mode
  • Visual Studio: Fixed crash when opening VisualStudio + improved VisualStudio startup performance
  • VR: Exposed Camera.targetEye to script for Virtual reality Applications.
  • VR: Fix Screen Orientation on GearVR applications.
  • VR: Fixed case of VRSettings.supportedDevices not populating until a VR device is loaded.
  • VR: Fixed Splash Screen Aspect ratio issues for VR Applications.
  • WebGL: Fix backspace in IMGUI input field navigating away from page
  • WebGL: Fix building shaders correctly for WebGL in AssetBundles
  • WebGL: Fix cursor hotspot coordinates when hotspot is outside the cursor area
  • WebGL: Fix webpage scrolling in Chrome/Safari/Edge when pressing arrow keys
  • WebGL: Fix xbox controller default mapping not matching buttons/axis
  • WebGL: Fixed 'Uncaught incorrect header check' error.
  • WebGL: Fixed WebGL 2.0 support to run on browsers implementing the final WebGL 2.0 specifications.
  • WebGL: Impement AudioSource.PlayScheduled and AudioSource.SetScheduledEndTime
  • WebGL: WebGL: Fix input y coordinates being off-by-one
  • Window Management: Fixed LockReloadAssemblies is not working correctly
  • Window Management: Fixed Minimizing unity changes the size of maximized unity windows
  • Windows: "Build & Run On" option will now work correctly with Universal Windows 10 Apps (it is no longer greyed out)
  • Windows: Fixed incorrect display of Korean characters on Windows 10 (if Korean language pack is not installed) and Windows Phone 10, Unity will now fallback to "Malgun Gothic" font.
  • Windows: Properly handle non-ascii command line arguments in editor and standalone
  • Windows: Screen.currentResolution() now returns desktop resolution instead of window screen resolution when application is in windowed mode.
  • Windows: Windows Standalone: Input.touchSupported will return a correct value.
  • Windows Phone 8: Added obsolete attribute for BuildTargetGroup.WP8 and BuildTarget.WP8Player
  • Windows Store: Fixed antialising when calling Screen.SetResolution on Universal Windows 10 Apps
  • Windows Store: modify template sources while still in StagingArea
  • Windows Store: Added docs for PlayerSettings.WSA in scripting reference.
  • Windows Store: Application will exit without crashing when calling Application.Quit
  • Windows Store: Fix AccessViolationException when initializing matchmaking in UNet
  • Windows Store: fix build & run using il2cpp backend
  • Windows Store: Fix build and run when Unicode characters with diacritics are used in product name
  • Windows Store: fix build failure (rrw failure) when calling methods with System.Numerics.Matrix4x4 as parameter
  • Windows Store: fix Directory.CreateDirectory() for forward slashes
  • Windows Store: Fix DirectoryInfo.FullName on 8.1
  • Windows Store: Fix duplicate tab key in XAML elements whenever Unity is running with enabled input
  • Windows Store: Fix Screen.SetResolution with fullscreen true on SDK 8.1, when antialising was set to 0, previously you would get a black screen
  • Windows Store: Fix serialization error, Unity will no longer serialize fields in Windows Store Apps which are of the same type as the class where this field is located, for ex., if you have a class Test and you have a field inside public Test MyField;. This behavior was already present in Editor, but not in Windows Store Apps.
  • Windows Store: Fix to exclude abstract classes from serialization (as is the case for all other platforms)
  • Windows Store: fix WheelCollider on x64 (NullReferenceException occurring)
  • Windows Store: Fixed a rare error message "unknown type xxx detected. Using reflection to gather its type information." message when yielding IEnumerators in Coroutines on .NET scripting backend.
  • Windows Store: Fixed AssemblyConverter failures related to genereic parameters and similar error will give more information in the output making it easier to pinpoint the cause
  • Windows Store: Fixed build failure with assembly resolution exception when there's a plugin that has its plugin importer settings set to specific Windows SDK (as opposed to Any SDK) and building using Universal 8.1 SDK.
  • Windows Store: Fixed case of mouse scroll not generating GUI events and being less sensitive than on other platforms.
  • Windows Store: Fixed certain UnityEngine.Networking features not working when Unity C# projects are enabled
  • Windows Store: Fixed compilation error when using .NET 4 plugin without placeholder and compilation override None.
  • Windows Store: Fixed crash in TouchScreenKeyboard when any members are used immediately after Open()
  • Windows Store: Fixed extended splash screen placement in Windows Phone 8.1, now it will match the system splash screen placement
  • Windows Store: Fixed on screen keyboard occasionally not opening
  • Windows Store: Fixed rare error "Incorrect hashcode" which sometimes could cause a crash
  • Windows Store: Fixed support for JPEG images for tiles, splash screen etc.
  • Windows Store: Fixed unity players not loading on "Windows N" versions.
  • Windows Store: Fixed WinRTLegacy stream replacements unreliability with large data
  • Windows Store: MainPage background color will now be set to match the splashscreen background color.
  • Windows Store: Populate autorotation settings to screen
  • Windows Store: RunInBackground option will be respected when application window looses focus, and if enabled, the application will keep updating. Note: if application window is minimized it will be still paused, because OS suspends the application.
  • Windows Store: Screen.resolutions will return a valid value.
  • Windows Store: SystemInfo.deviceType will now correctly report Handheld when running on Windows Phone 10.
  • Windows Store: Unity will no longer report xbox one controllers as "Xbox 360 controllers".
  • Windows Store: WebCamera will correctly continue working after minimizing/maximizing application
  • Windows Store: When building to Universal Windows Platforms, project.json will not be overwritten if the contents inside were modified

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

Improvements

  • Graphics: GPU instancing improvements
    • General performance is improved, specifically for scenarios where batches are broken due to mesh change or instanced property change.
    • Legacy deferred renderloop is now supported.
    • In forward renderloop when objects are rendered with add passes, the base passes now can be instanced. Note that you need to define UNITY_USE_CONCATENATED_MATRICES for add passes (though add pass itself can't be instanced) to avoid potential z-fighting issues in such a scenario, if you don't use instanced surface shaders.
  • Web: Change to use compression when available via the Accept-Encoding header for curl requests made from the Editor.
  • Web: Change to use compression when available via the Accept-Encoding header for curl requests made from the runtime.

Fixes

  • Analytics: Fixed case of analytics events not sending in editor after stopping and then starting play.
  • Android: Fixed intermittent crash when loading scenes.
  • Animation: Fixed an issue where rotation and scale wouldn't be animated in Legacy animation when other properties were animated.
  • Animation: Fixed case of empty animation clip being created when sprites are selected in project folder.
  • Animation: Fixed cull-all being too aggressive.
  • Animation: Fixed issue where opening "Configure Avatar" window would throw an error.
  • AssetBundles: Fixed possible crash when decompressing corrupted lzma bundles.
  • Editor: Change to make the Project tab (in New project page) not be in selected status.
  • Editor: Fix case of an incorrect window being displayed after pressing Backspace button in New Project page.
  • Editor: Fix case of wrong error message being emitted when returning license via command line.
  • Editor: Fix to prevent crash when padding ASTC textures when building from command line.
  • Editor: Fixed auto license stop updates issue
  • Editor: Fixed case of multi-selection picking passing through game objects.
  • Editor: Fixed case of selection base being re-selected when picking child game objects.
  • Editor: Fixed issue whereby the editor would request to re-login when network is not stable.
  • Editor: Removed SelectionBase from LOD Group.
  • Global Illumination: DynamicGI.indirectScale is now clamped.
  • Graphics: Fixed internal profiler for static batching on Android, iPhone and Metro
  • IL2CPP: Change to marshal an array of blittable structs passed by value, by simply passing a pointer to the array into the native code.
  • IL2CPP: Fix to properly handle type casts and is checks for value type arrays when they are casted to generic collection interfaces.
  • iOS: Apple Pencil pressure will now be exposed the same way that 3D Touch pressure already is.
  • iOS: Fix to ensure that AdSupport is included in the build, as it is present in frequent frameworks.
  • iOS: Fix to ensure that our symbols are not overridden by user libraries.
  • iOS: Fix to prevent non-prefixed freetype2 symbols from being exported.
  • iOS: Fixed TouchInputModule and StandaloneInputModule co-operation.
  • iOS: Switching between different input fields will no longer leave input accessory fields on screen.
  • Linux: Fixed webcam issue when user repeatedly stops/starts/pauses.
  • OpenGL: Fixed invalid shader code generation when using gl_PrimitiveID or bitFieldInsert().
  • Physics: Fix to ensure that changing a Collider2D property via the inspector doesn't reset the OnCollision or OnTrigger state back to 'Enter'.
  • Profiling: Change to disallow GPU profiling when graphics jobs are enabled.
  • Shaders: Change to make it possible to use texture arrays (UNITY_DECLARE_TEX2DARRAY etc.) in surface shaders without jumping through hoops.
  • Shaders: Upgrading a shader with a dx11 [annotation] at the start of the file no longer results in a crash.
  • Windows Store: Fixed issue in the stack-traces on IL2CPP scripting backend.
  • Windows Store: Fixed .NET native compiler crash when using managed plugin that already has an assembly initializer defined. One of such assemblies was "Rewired_Core.dll".
  • Windows Store: Fixed a crash when deserializing a struct with a list or an array inside from an empty json string.
  • Windows Store: Fixed issue that would cause failure to build player when there are plugins in the project that are marked "read-only".
  • Windows Store: When building scripts using Microsoft C# compiler on the il2cpp scripting backend, we now pass identical references as when using Mono C# compiler. This fixes issues that previously resulted in "SupportClass is already defined in another assembly" compiler errors.

Changeset: f24f29c81497