Unity 5.6.0 Beta 5

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.

5.6.0b5 Release Notes (Delta since b4)

System Requirement Changes

  • Android minimum version supported updated to 4.1 (JellyBean).

Known Issues

  • 2D: 2D Sprites cannot be dragged to the Scene view if the project is created in 3D. (863887)
  • 2D: Opening sprite editor after importing any package crashes editor (873335)
  • Animation: Problems with Animator in 5.6.0 beta after upgrading project from 5.5.0p3 (864062)
  • Editor: Editor crashes when selecting objects in hierarchy. Can be worked around by deleting Assets/Prefabs/Trees folder. (837840)
  • GI: Compositing process gets stuck while building lighting. (863964)
  • iOS: Rendering orientation is incorrect if orientation is overridden in Start() in your project’s first Scene.
  • Particles: Game crashes occur during Play mode when a Particle System is a sub-emitter of more than one other Particle System. (857065)
  • Particles: Particle System glitch with some Mesh types. (863967)
  • Scripting: An API Updater internal error "Recursion detected while updating scripts (assembly index: 4)" is thrown when updating scripts. Note that this occurs when importing some 5.4 projects directly into 5.6 beta. One workaround is to do an intermediate import/save into 5.5. (863941)
  • VR: [Daydream] iOS is not supported with the current native integration, but will be available in an upcoming beta release.
  • VR: [Daydream] There is a memory leak when you exit and re-enter VR mode. This leak is on the native Google VR code and Google is actively working on fixing this. (859281)
  • VR: [Daydream] There is no native controller integration yet. For controller use, please use the Unity SDK provided by Google.
  • VR: [Daydream] You may notice that your Daydream VR display is dimmer than other VR devices. This is by design, as a means of prolonging battery life while in VR.

Features

  • 2D: Enabled BoxCollider2D & EdgeCollider2D Edge Radius Feature.
  • Android: Added target API level option to Android Player Settings in the Unity Editor.
  • Particles: Added new Shape Module controls to support non-randomized particle emission.
  • Particles: Redesigned Burst Emission to support 8 bursts, and added burst repeat parameters.

Improvements

  • Asset Import: Significant performance improvements to DXT1, DXT5, BC4 and BC5 texture compressors, resulting in faster asset imports. Fixed cross platform determinism of DXT1, DXT5, BC4 and BC5 compressed textures. We now get the same compressed texture regardless of the platform they're compressed on.
  • Audio: (As also mentioned under API Changes) AudioClip is now always loaded on a separate thread, resulting in improvements to Scene loading time. This is because the rest of the Scene can be loaded while Audio Clips are decompressed. AudioClip.loadInBackground is now obsolete and no longer used.
  • Shaders: Added ability to disable shader pass per-material, see Material.SetShaderPassEnabled.

API Changes

  • Audio: (As also mentioned under Improvements) AudioClip is now always loaded on a separate thread, resulting in improvements to Scene loading time. This is because the rest of the Scene can be loaded while Audio Clips are decompressed. AudioClip.loadInBackground is now obsolete and no longer used.
  • Editor: Handles.DrawCapFunction (and associated Handles functions expecting it) is now obsolete, and generates warning messages.
  • Graphics: Added Matrix4x4.LookAt function.
  • Scripting: Added new non-allocating accessors to Mesh. These accessors write into a user-specified List. The new accessors are GetBindposes, GetBoneWeights, GetColors, GetIndices, GetNormals, GetTangents, GetTriangles, and GetVertices (also being back-ported to 5.5.x).

Fixes

  • Android: Fix to correctly repackage assets from aar files when building on Windows. (852039)
  • Editor: Fixed case of harmless errors being thrown when extra extension DLLs like UnityEditor.iOS.Xcode.dll are used in the project. (778581)
  • Editor: Fixed issue when appending onto iOS builds when Unity version contains special characters (such as dashes).
  • Editor: OcclusionPortal component now supports multi-edit
  • Graphics: Fixed a path issue when loading GI data. (858292)
  • Graphics: Fixed light probes visualisation in linear rendering. (862215)
  • iOS: A warning is now issued when CameraDepthTexture uses the wrong sampler type. (786455)
  • iOS: A warning is now issued when SV_POSITION is used as input in vertex shader. (809737)
  • iOS: Scripting profiler memory info is only available on development player configurations. The scripting profiler will now report when memory information is not available. (769072)
  • Shaders: Fixed Editor crash on Windows when viewing a Material using a shader which contains a pre-processor #error token. (824020)
  • Web: Fixed case of harmless 'Coroutine continue failure' error being thrown when stopping a WWW coroutine. (780200)
  • Web: Fixed case of UnityWebRequest not working in Editor when not in play mode. (859924)

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

Fixes

  • 2D: Fixed exception logged when selecting a SpriteRenderer that uses a builtin Sprite with the Sprite Editor Window opened. (863932)
  • Android: Fix to return correct persistent data path after an app upgrade with removed write external permission. (854214)
  • Editor: Fixed case of various sections in player settings dissapearing at certain times. (854638, 856810)
  • Editor: Fixed crash that could be triggered when dragging ScriptableComponent. (858462)
  • Editor: Fixed issue where changes to particle systems' sub-emitters field types were ignored when simulating a system. (The system was becoming dirty internally and changes were ignored). (860751)
  • Editor: Fixed issue where CircleCollider2D and CapsuleCollider2D edit mode handles would cause collider offset to slowly drift while dragging the size down to 0. (863949)
  • Graphics: Corrected the message pop-ups that would be issued in the Editor when baking lightmaps but the scene was never saved.
  • Graphics: Fixed issue where the lighting progress bar would get stuck on compositing while building lighting. (863964)
  • Graphics: Fixed shadows cascade visualisation debug mode. (857232)
  • iOS: Fix to ensure that alpha channel is not stripped out of launch screens. (847494)
  • iOS: Fixed exception when disposed ODR object is collected by GC. (850619)
  • Particles: Fixed case of Emit over distance not working when Scaling Mode was set to Hierarchy. (844815)
  • Particles: Fixed issue where trails would keep the old position when spawned by script. (858243)
  • Physics: CapsuleCollider2D: bug fixes, performance and accuracy improvements.
  • Physics: Documentation: Fixed incorrect reference for CompositeCollider2D.
  • Physics: Fix to ensure that creating a BoxCollider2D with a size or scale of zero in either dimension does not cause a crash. (864117)
  • Physics: Fix to ensure we allow contacts against effector colliders when using full-kinematic-contacts.
  • Physics: Fix to stop the SpriteRenderer 9-slice causing 2D colliders to be re-created upon scene load.
  • Physics: Fixed an issue where removing a Rigidbody2D with active contacts would cause a crash when the other Rigidbody2D slept. (866831)
  • Physics: Fixed issue when rendering the CapsuleCollider2D gizmo with very small sizes. (863939)
  • VR: Fix to only set enableVrMode if Daydream is the primaryVR Device. Also fixed issue with setting Low Persistence mode when application starts in non-VR mode. (867417)
  • VR: Fixed issue where Graphics.DrawProcedural would draw geometry only in the left eye when Single Pass was enabled. (859819)
  • Web: Fixed proxy/communication debugging in UnityWebRequest. (861828)

5.6.0b5 Release Notes (Full)

Features

  • 2D: Enabled BoxCollider2D & EdgeCollider2D Edge Radius Feature.
  • 2D: Sorting Group:
    • Sorts a group of Renderers (for instance, a character made up of a group of Sprite Renderers) as a whole, without any interleaving of other Renderers.
  • 2D: Sprite Editor Window now supports Sprite outline editing to control Sprite Mesh generation.
  • 2D: SpriteRenderer: Added support for 9-slice Sprite rendering.
  • AI: Low-Level API for NavMesh building:
    • Create and update NavMesh data at runtime.
    • Use multiple instances of NavMeshes.
    • Control the life-time of the NavMesh instances.
    • Create and manage NavMesh Build Settings for multiple agent sizes.
    • Additional open-sourced components and examples available at: https://github.com/Unity-Technologies/NavMeshComponents
  • Android: Added target API level option to Android Player Settings in the Unity Editor.
  • Animation: Added tracking of Animator State Machine view positions.
  • Compute: Added support for Metal Compute (iOS/macOS).
  • Editor: Added TreeView IMGUI Control, which can display hierarchical data that can be expanded and collapsed. Additionally, it allows you to create list views and multi-column tables for Editor tools.
  • Editor: Exposed the following custom handle classes in UnityEditor.IMGUI.Controls: BoxBoundsHandle, CapsuleBoundsHandle, SphereBoundsHandle.
  • Editor: Interactive handles for editing primitive Collider types in the Scene view now all use the same logic:

    • Drag a handle to expand the size only on that side.
    • Hold to pin the center in place.
    • Hold to scale the shape uniformly.

    These changes apply to BoxCollider, CapsuleCollider, SphereCollider, BoxCollider2D, CapsuleCollider2D, and CircleCollider2D.

  • Facebook: Added "Facebook" as a new Build Target Platform. This allows you to publish your builds to Facebook using either WebGL or the Facebook Gameroom Windows app.

  • GI: Added Light Modes, which replace mixed mode lighting and provide flexible ways to merge baked and realtime shadows. As part of this:
    • Added ability to bake shadowmasks.
    • New Lighting window layout.
    • Added Light Explorer window.
  • Graphics: Added EncodeToEXR to Texture2D.
  • Graphics: Added HDR MSAA anti-aliasing support. HDR rendering and MSAA anti-aliasing now works as expected with forward shading.
  • Graphics: Added physically-based rendering Material validator. You can now validate Albedo and Specular values against acceptable ranges. Albedo values can also be validated against user-defined luminance ranges.
  • Graphics: Support for DrawMeshInstancedIndirect, where draw arguments are supplied from a ComputeBuffer.
  • Graphics: Support for Procedural Instancing, where instance data is supplied via a custom source in the Shader, rather than from Material Property Blocks.
  • Graphics: Vulkan rendering backend added for Android, Linux and Windows. It is not used by default yet; drag it to the top of Graphics API list in Player Settings (menu: Edit > Project Settings > Player) to use it.
  • IL2CPP: Added support for Windows Runtime when targeting Windows Store and Xbox One players with .NET 4.6 API Compatibility Level. See the Unity User Manual documentation on IL2CPP for more information on Windows Runtime support.
  • Particles: Added new Shape Module controls to support non-randomized particle emission.
  • Particles: Redesigned Burst Emission to support 8 bursts, and added burst repeat parameters.
  • Physics: Added new CompositeCollider2D component, providing the ability to merge together BoxCollider2D & PolygonCollider2D colliders.
  • Physics: Physics Debug
    • A tool designed to provide a visualization of what is going on in our physics middleware (PhysX), allowing you to quickly inspect the Collider geometry in your Scene, and profile common physics-based scenarios.
    • Also serves as a profiling tool, because it can hide all sleeping Rigidbody components and show all concave Mesh Colliders.
  • Player: Added native Daydream integration as a VR target for Unity VR applications.
  • Video: Added Video Player component and Video Clip Importer Asset Importer. They replace Movie Texture and its Importer (available with a legacy control). The workflow audio platform support and scripting API are due to be improved in the next alpha release.
  • VR: Added initial Vulkan support for OpenVR.

Changes

  • Android: Buildpipe - Removed AnyCPU option from .so files in Plugin inspector.
  • Android: Minimum supported Android API incremented from 9 (gingerbread) to 16 (jellybean).
  • Editor: Building in linear color space is no longer allowed for platforms that don't support it.
  • Graphics: Refactored camera render ordering code. When a scene is rendered it now figures out which cameras can share the same render target. The rules for this are:
    • Same display.
    • Are we in VR (implicit shared target).
    • They share the same viewport.
    • They all have or do not have a depth buffer. These cameras are then split into a 'stack' that is rendered based on depth ordering into a shared texture. The texture will have the most 'common' settings from the cameras in the stack:
    • If any camera wants MSAA it will be an MSAA buffer.
    • If any camera wants HDR it will be a HDR buffer.
    • If there are any deferred cameras in the stack MSAA will be disabled (MSAA is not compatible).
  • Graphics: Removed MSAA from back buffer on MOST devices / platforms. Much like HDR, MSAA generally now requires a render texture. This is implicitly supported via the render stack mechanism. If you require MSAA the target that will be rendered to will have MSAA enabled (so long as deferred is not used in the stack). On iOS and Android we still allow MSAA BB as these platforms have a large number of no image effects games and we want to avoid the extra blit.
  • Linux / SteamOS: Switched window management and input handling from X11 to SDL2 on Linux / SteamOS.
  • Scripting: Script serialization errors that were introduced in Unity 5.4 but did not always throw a managed exception, now always do so in Unity 5.6.
  • Scripting: The behaviour for ISerializationCallbackReceiver.OnAfterDeserialize has changed when using Instantiate and UnityEditor.PrefabUtility.CreatePrefab. Previously the callback was invoked twice: once before the object was fully deserialized (internal references not yet updated) and once after the object was fully deserialized (internal references are updated). In Unity 5.6 and above, SerializationCallbackReceiver.OnAfterDeserialize is only invoked once, after the object is fully deserialized, when using Instantiate and UnityEditor.PrefabUtility.CreatePrefab.

  • Shaders: Removed glstate_matrix_mvp, glstate_matrix_modelview0, glstate_matrix_transpose_modelview0 and glstate_matrix_invtrans_modelview0:

    • In order to use these matrices, use UNITY_MATRIX_MVP and friends instead (as you should be doing already).
    • But note! For better performance, always prefer UnityObjectToClipPos and UnityObjectToViewPos if you are transforming vertices into clip space and view space respectively. Warning messages are printed on detection of uses of UNITY_MATRIX_MVP and UNITY_MATRIX_MV.
    • Since now we have unified the transforming path, #pragma force_concat_matrices is obsolete.
    • Our tests show an improvement in CPU performance and a degradation in GPU performance. The difference, however, is only noticeable when vertex load is very high.
  • Shaders: Shader compilation now stops on the first error.
  • Windows Store: D3D is now the default build type when building for Universal 10 SDK.

Improvements

  • 2D: Axis Distance Sort:
    • Added CustomAxis to TransparencySortMode of Camera to allow users to sort renderers against a preferred axis instead of just by depth from the camera.
  • 2D: Refactored the internal storage of Sprite data to a more flexible storage structure. This is the precursor to new 2D features coming down the pipelne. Note that textures will therefore be re-imported on opening an existing project in Unity 5.6 for the first time.
  • Android: Added support for managed stack traces on Android with IL2CPP.
  • Android: Moved Android splash image to a Java implementation so that it is displayed quicker during engine loading.
  • Animation: Added a 3rd spine bone, UpperChest, to humanoid rig.
  • Animation: Added tracking of Animator State Machine view positions
  • Animation: Disabled auto-framing of AnimatorController when selecting states or transitions
  • Animation: Performance improvements for selection and keyframe manipulation in Curve Editor.
  • Asset Import: Significant performance improvements to DXT1, DXT5, BC4 and BC5 texture compressors, resulting in faster asset imports. Fixed cross platform determinism of DXT1, DXT5, BC4 and BC5 compressed textures. We now get the same compressed texture regardless of the platform they're compressed on.
  • Audio: (As also mentioned under API Changes) AudioClip is now always loaded on a separate thread, resulting in improvements to Scene loading time. This is because the rest of the Scene can be loaded while Audio Clips are decompressed. AudioClip.loadInBackground is now obsolete and no longer used.
  • Compute: Added ability to setup & dispatch compute shaders from CommandBuffers. See new CommandBuffer functions: SetCompute*Param, DispatchCompute, CopyCounterValue.
  • Compute: ComputeShader inspector lists kernels, and compiled code shows disassembly on DX11. UNITY_VERSION macro is passed while compiling compute shaders, just like for regular shaders.
  • DX12: Reduced system and video memory usage.
  • Editor: Added interface support to Selection.GetFiltered.
  • Editor: Editor's game view window will fully support touches on Windows when touch screen is available (for ex., Surface Pro). Functions like Input.GetTouch should therefore start working.
  • Editor: Graphics device arguments now persist when relaunching editor.
  • Editor: Window layouts are now serialized as text.
  • GI: Added rgb9e5 float texture format for precomputed realtime GI on all supported platforms. This format can be interpolated without artifacts. Unsupported platforms will fall back to RGBM encoding and can still have banding from interpolation.
  • GI: Added to ReflectionProbe: defaultTexture, defaultTextureHDRDecodeValues, textureHDRDecodeValues.
  • GI: Enlighten SDK upgraded to version 3.07p1. This should provide precompute time reductions, which will be especially noticeable in the CalculateSystemDependencies step as well as other steps which perform ray-tracing. Additional details:
    • An issue has been fixed in baking when using Final Gather which would result in wrong lighting when using transparent materials.
    • An issue has been fixed in baking when using Final Gather which would result in it ignoring the 'backface behaviour type' material property.
    • Fixed issue that prevented baked light masks working in conjunction with transparency textures.
    • Fixed a bug resulting in wrong lighting for SSD objects when using probes with non-default axes or SH coefficient orders.
    • When baking direct probe lighting, the per-light option to disable direct lighting is no longer ignored.
  • GI: Updated default shadow near plane offset.
  • GI: usesRevertedZBuffer is now exposed to SystemInfo.
  • Graphics: "-gpu" command line argument is now supported in the Windows Store player
  • Graphics: Added CommandBuffer functions: SetViewport, SetViewMatrix, SetProjectionMatrix, SetViewProjectionMatrices.
  • Graphics: Added cube array texture support to OSX Metal.
  • Graphics: Added RenderQueue.GeometryLast enum value.
  • Graphics: Added SystemInfo.graphicsUVStartsAtTop property.
  • Graphics: CommandBuffer API improvements:
    • More CommandBuffer APIs: CopyTexture, EnableShaderKeyword, DisableShaderKeyword.
    • CommandBuffer.GetTemporaryRT got an enableRandomWrite argument.
  • Graphics: Frame Debugger improvements:
    • Ctrl+Click on texture properties pops up a larger preview, just like the Standard shader UI does. This is also useful for viewing cubemap textures.
    • ComputeShader dispatches now shows the compute shader, kernel and dispatch size used.
    • The Shader properties tab is now the default one (instead of mesh preview).
    • The Shader properties view now shows the ComputeBuffer properties that are used.
  • Graphics: Frame Debugger now shows the reason why a draw call can't be batched with the previous one.
  • Graphics: GPU Instancing: a new workflow is implemented. In short, you can now simply check the "Enable Instancing" checkbox on most of the Materials, including those using Standard shaders.
    • A "#pragma multi_compile_instancing" line now is no longer needed in surface shaders. Instancing variants are automatically generated for surface shaders, unless you explicitly specify "noinstancing" in a "#pragma surface" line.
    • Standard and StandardSpecular also have "#pragma multi_compile_instancing" built-in.
    • A new checkbox "Enable Instancing" is added to the Material inspector and it must be checked if you want objects rendered with this material to be instanced.
    • SpeedTree assets now prints an error prompting you to regenerate the materials on enabling this checkbox.
    • Please note that all existing projects that utilize instancing need to enable this checkbox if the material is intended to be used for instancing, including those for DrawMeshInstanced.
    • When building to players, instancing variants of a shader are stripped away if no material using this shader enables instancing. You can have a global stripping control in Graphics settings.
  • Graphics: HDR rendering supports R11G11B10 float formats in addition to FP16. This can be configured in Graphics Settings per platform & tier.
  • IL2CPP: Generated C++ code will now contain annotations of original C# source code, as long as PDB/MDB files accompanying the C# source code are present on the machine at conversion time.
  • OSX: Added support for retrieving GPU memory size on Metal.
  • Particles: Custom Data can now be configured via the Inspector using a new Module, instead of exclusively via Script.
  • Particles: Full support for multiple selection and editing of Particle Systems.
  • Particles: Gradient Editor now supports HDR colors when used in the Custom Data streams.
  • Particles: Huge performance improvement for particle collision against 2D Colliders.
  • Particles: Improved overlap solver for particle collision against 2D Colliders.
  • Particles: The UI for Custom Vertex Streams has been redesigned to allow greater flexibility over what data to send to the shader, and to add more control over how it is packed into the TEXCOORD channels.
  • Physics: 2D contacts are now shown in the Inspector 'Info' rollout for Collider2D and Rigidbody2D.
  • Physics: Added a non-allocating way to retrieve contacts per Collider2D or Rigidbody2D using Physics2D.GetContacts (), Collider2D.GetContacts () & Rigidbody2D.GetContacts ().
  • Physics: Complete rewrite of internal 2D contact processing providing a more robust and reliable reporting of contacts.
  • Physics: New ContactFilter2D, allowing physics queries to filter by layer mask, Z depth, normal angle and trigger inclusion.
  • Physics: Provision of non-allocating overloads that use the new ContactFilter2D for Linecast, Raycast, BoxCast, CircleCast, CapsuleCast, OverlapPoint, OverlapCircle, OverlapBox, OverlapArea, OverlapCapsule, GetContacts & IsTouching.
  • Profiling: Added Profiling.Recorder API providing the ability to get accumulated frame time for the specific Profiler label in the Editor and Developments Players
  • Shaders: Added ability to disable shader pass per-material, see Material.SetShaderPassEnabled.
  • Shaders: HLSLPROGRAM shader snippet support. Same as CGPROGRAM, with one difference: HLSLSupport.cginc and UnityShaderVariables.cginc includes are not added automatically.
  • Shaders: Optimized in-editor experience for shaders with potentially massive variant counts (order of "millions"). Importing and first-time compiling them is much faster now.
  • Shaders: Preprocessor macros SHADER_STAGE_VERTEX, SHADER_STAGE_FRAGMENT, SHADER_STAGE_DOMAIN, SHADER_STAGE_HULL, SHADER_STAGE_GEOMETRY, SHADER_STAGE_COMPUTE are defined when compiling each shader stage.
  • Shaders: The .hlsl file extension is now recognized in the same way as .cginc one (included into generated IDE projects, opened same way from the editor).
  • Terrain: A warning box will be shown if you try to assign a texture that is not imported as a normal map to the normal map slot of the terrain material.
  • Terrain: Terrain Inspector now remembers the last selected brush shape.
  • Terrain: Terrain LOD pre-computation is optimized and now runs faster (specifically, TerrainData.SetHeights and setting the size property are faster now).
  • VR: Added single-pass stereo support for Gear VR (using GL_OVR_multiview).
  • VR: Attached VR/AR devices will now add their remote resolution to the Game View sizes dropdown in the Editor.
  • Web: In UnityWebRequest, response code and headers are now available to scripts as soon as they are downloaded. Previously they were accesible only after the whole download was complete.
  • Windows Store: C++ source code plugins can now be included directly from the generated Visual Studio solution. This is possible by adding the directory containing the source code to the list of include directories, and linking the DLL they get compiled in to the final game executable on the il2cpp scripting backend.
  • Windows Store: Significantly reduced the size of Windows Store support installers.
  • Windows Store: Significantly reduced the time the postprocessing player step takes when building project on the IL2CPP scripting backend.
  • Windows Store: Unity now uses prebuilt MapFileParser when building generated C++ code on the IL2CPP scripting backend, rather than building it on your machine on the fly.

API Changes

  • Animation: Added to AvatarMask: AddTransformPath, RemoveTransformPath.
  • Animation: Added AnimatorOverrideController.GetOverrides and AnimatorOverrideController.ApplyOverrides. (752095)
  • Animation: Deprecated AnimatorOverrideController.clips. (752095)
  • Animation: Moved AvatarMask from UnityEditor.Animations to UnityEngine.
  • Asset Pipeline: Added new API methods AssetDatabase.GetImplicitAssetBundleName and AssetDatabase.GetImplicitAssetBundleVariantName, which dynamically compute the name of the AssetBundle and AssetBundle Variant that a given Asset belongs to.(834008)
  • Audio: (As also mentioned under Improvements) AudioClip is now always loaded on a separate thread, resulting in improvements to Scene loading time. This is because the rest of the Scene can be loaded while Audio Clips are decompressed. AudioClip.loadInBackground is now obsolete and no longer used.
  • Editor: (As also mentioned under Features) Exposed the following custom handle classes in UnityEditor.IMGUI.Controls: BoxBoundsHandle, CapsuleBoundsHandle, SphereBoundsHandle.
  • Editor: Added IDisposable 'Handles.DrawingScope' struct for cleaner pushing/popping of 'Handles.matrix' and 'Handles.color'.
  • Editor: Handles.DrawCapFunction (and associated Handles functions expecting it) is now obsolete, and generates warning messages.
  • GI: Exposed baked Ambient Occlusion (AO), 'indirectAO' and 'directAO' to scripting API.
  • Graphics: Added array property getters (e.g. GetFloatArray) for Material, MaterialPropertyBlock and Shader classes.
  • Graphics: Added integer ('Shader.PropertyToID') overloads to 'Material.SetTextureScale' & 'SetTextureOffset'. (766076)
  • Graphics: Added property getters (e.g. GetGlobalFloat) for Shader class.
  • Graphics: Added to CommandBuffer: SetGlobalDepthBias, BeginSample, EndSample functions.
  • Graphics: Added Graphics.ConvertTexture function, for copying between Textures of different sizes/formats.
  • Graphics: Added Graphics.DrawMeshInstancedIndirect and its CommandBuffer counterpart.
  • Graphics: Added List overloads for array property setters for Material, MaterialPropertyBlock, Shader and CommandBuffer classes.
  • Graphics: Added List overloads for Graphics.DrawMeshInstanced.
  • Graphics: Added Matrix4x4.LookAt function.
  • Graphics: Added SystemInfo.maxCubemapSize API, analogous to SystemInfo.maxTextureSize. (852309)
  • Physics: Added minMoveDistance property to CharacterController script API.
  • Physics: Exposed Physics.ClosestPoint. This computes the point on the surface of a given Collider that is closest to a specified location.
  • Physics: Exposed Physics.ComputePenetration. This computes the minimal translation required to separate the two given Colliders. It doesn't require the Colliders to be placed at the given pose prior to the test, so it is useful for writing custom character controllers.
  • SceneManager: EditorSceneManager now has a number of new events that developers can add delegates to. They are: newSceneCreated, sceneOpening, sceneOpened, sceneClosing, sceneClosed, sceneSaving and sceneSaved.
  • Scripting: Added new non-allocating accessors to Mesh. These accessors write into a user-specified List. The new accessors are GetBindposes, GetBoneWeights, GetColors, GetIndices, GetNormals, GetTangents, GetTriangles, and GetVertices (also being back-ported to 5.5.x).
  • Terrain: Added TerrainChangedFlags for use in 'OnTerrainChanged' message.
  • Terrain: Added TerrainData.bounds for retrieving local bounding box of the Terrain heightmap data.

Fixes

  • AI: NavMesh is now merged correctly when scenes are merged using the SceneManager API. (800869)
  • Android: Editor: Enabled Undo for Android TV Banner. (672169)
  • Android: Fix to correctly repackage assets from aar files when building on Windows. (852039)
  • Android: Fixed audio stutter when launching Android player from a notification from the lockscreen. (818174)
  • Android: Fixed incorrect delta position and delta time calculation (815918)
  • Animation: Added warning icon in the animator controller to inform user that a base layer with humanoid motion should preferably not have an avatar mask. (823794)
  • Animation: Enable 'ordered interruptions' in the transition inspector if source state is AnyState. (808387)
  • Animation: Fixed a bug where deactivating a GameObject with an attached Animator might cause a crash. (822232)
  • Animation: Fixed an issue where an invalidly configured Humanoid rig with Optimize Game Objects would cause the configure button to disappear. (827514)
  • Animation: Fixed an issue where animating the Z position of a RectTransform using the Animation Component would not move the Image. (829159)
  • Animation: Fixed an issue where animator with animate physics would teleport objects. (847015)
  • Animation: Fixed AnimatorControllerPlayable memory leak.
  • Animation: Fixed bug in BlendTree thresholds recomputation. (777936)
  • Animation: Fixed bug in the ModelImporter animationclip automatic naming. (768723)
  • Animation: Fixed case of AnimationEvent not being fired on lower FPS. (812917)
  • Animation: Fixed case of de-optimization of game object hierarchy messing up transform values. (838015)
  • Animation: Fixed case of erroneous bounds being calculated for SkinnedMeshRenderer when optimizing game object. (829264)
  • Animation: Fixed case of OnStateExit callback not firing for interrupted transitions. (826180)
  • Animation: Fixed case of sprite preview not refreshing when changing animation clip in the animation window. (839872)
  • Animation: Fixed crash when receiving a null property modification in animation recording. (832837)
  • Animation: Fixed erroneous animation clip range when changing sample rate. (835553)
  • Animation: Fixed erroneous euler value for first frame when recording animation in the animation window. (839885)
  • Animation: Fixed issue where GetNextAnimatorStateInfo was inaccurate when transitioning to self. (834693)
  • Animation: Fixed issue where the Backspace/Delete key did not work in the avatar configuration transform inspector. (837655)
  • Animation: Fixed performance issues in dopesheet editor with large keyframe selection. (834557)
  • Animation: Fixed precision error when drag-and-dropping the blend value (i.e. the red ruler) in a BlendTree. (803678)
  • Animation: Fixed problem where animation events were not being fired properly by Playables. (847874)
  • Animation: Re-enabled recording in editor play mode. (835544)
  • Animation: Removed parameter filter when user adds a new animator controller parameter. (847134)
  • Asset Import: Fixed an issue where deleting asset labels manually from .meta files would not be picked up by the editor. (793711)
  • Asset Import: Fixed crash in ReplacePrefab when target GameObject was destroyed in OnWillSaveAssets. (829453)
  • Asset Pipeline: Fixed a regression where AssetDatabase.SaveAssets wouldn't save changes made to a prefab inside OnPostprocessAllAssets. (830110)
  • Audio: Fixed issue which prevented streaming audio loading on 32-bit Apple devices which were upgraded to iOS 10. (832578)
  • Build Pipeline: VR Splash Screen texture will no longer be included when building a project for a non-VR platform. (823167)
  • Editor: Arguments into MakeBezierPoints are now validated. Previously invalid arguments could result in a crash. (835775)
  • Editor: Find Reference in Scene now works on packed sprites. (805431)
  • Editor: Fix for issue where ScriptUpdater would corrupt scripts containing invocations to Mesh.Optimize(). (827796)
  • Editor: Fix for issue where ScriptUpdater would crash or fail to update code in NGUI AssetStore package. (833958)
  • Editor: Fix to denormalize animation curve presets when loading. (800805)
  • Editor: Fixed a crash when calling Lightmapping.BakeMultipleScenes from game code in the editor. (837091)
  • Editor: Fixed an issue where GameObjects could not be dragged from the Hierarchy view while the view is filtered. This prevented (among other things) creation of prefabs by dragging an object from the Hierarchy to the Project view. (813000)
  • Editor: Fixed an issue where prefab creation would break if user had "Verify Saving Assets" enabled in preferences. (834347)
  • Editor: Fixed an issue with built-in window layouts where default game view scale on retina was incorrect. This only affects cases where default layouts were missing. (838720)
  • Editor: Fixed ArgumentOutOfRangeException triggered when closing tabs in dock area. (840151)
  • Editor: Fixed bug causing script execution order to be incorrectly set when removing a preceding script from the list and the text field is active. (778802)
  • Editor: Fixed case of AnimationCurve preview in Inspector not being up-to-date after stopping play mode. (817999)
  • Editor: Fixed case of editing keyframe values in curve editor affecting alignment of subsequent labels. (829228)
  • Editor: Fixed case of Handles.DrawCamera() affecting camera rect in game view. (834204)
  • Editor: Fixed case of harmless errors being thrown when extra extension DLLs like UnityEditor.iOS.Xcode.dll are used in the project. (778581)
  • Editor: Fixed case of overflow text being clipped in Preferences window. (714757)
  • Editor: Fixed case of Player Settings not getting focus on inspector when opened from the Build Settings window. (720992)
  • Editor: Fixed case of undoing collider handle changes exiting edit mode. (837844)
  • Editor: Fixed Crash in HandleSetTransformFatherDragAndDrop when dragging a Tree prefab to the hierarchy (775353)
  • Editor: Fixed hardware cursor not automatically updating in game view when changed from Player Settings inspector on OS X. (718766)
  • Editor: Fixed incorrect handle placement for OcclusionPortal in scene GUI after undo.
  • Editor: Fixed incorrect indentation of TextAreaDrawer. (804863)
  • Editor: Fixed insertion marker positioning in BuildSettings window. (839855)
  • Editor: Fixed issue when appending onto iOS builds when Unity version contains special characters (such as dashes).
  • Editor: Fixed issue where attempting to create an editable copy of a font from the Inspector would not work. (857155)
  • Editor: Fixed issue where Canvas size would change when moving the Game View. (851777)
  • Editor: Fixed issue where Handles.Button would capture a right click but would not release it, resulting in non-responsive scene view. (527425)
  • Editor: Fixed issue where it was not possible to check out only the asset file in Inspector if the meta file was already checked out (and vice-versa). (717021)
  • Editor: Fixed issue where the timeline time scrubber in AnimatorStateTransition inspector did not release hotControl when a mouse up event occurred outside the control rect. (834214)
  • Editor: Fixed issue whereby it was not possible to undo changing application icon. (672169)
  • Editor: Fixed issue with ScriptUpdater fully qualifying member access in some scenarios. (838681)
  • Editor: Fixed keyboard input when there are multiple GameViews open. (767109)
  • Editor: Fixed MissingReferenceException when deleting a child particle system while ParticleSystemWindow is open.
  • Editor: Holding CTRL/ALT no longer stretches the Game View when zooming it with the scroll wheel. (851617)
  • Editor: OcclusionPortal component now supports multi-edit
  • Editor: Reduced heap allocations when rotating view in Scene window. (828286)
  • Editor: Renamed 'Preload shaders' to 'Keep loaded shaders alive' since that is what the option does does. Also added a * to said option and to 'Preloaded Assets' since they are shared.
  • Editor: The correct color is now used for "Shaded Wireframe" mode in scene view. (836408)
  • Editor: Visual indication/feedback is now always shown when attempting to save Scene while in playmode. (568837)
  • GI: Fix to ensure that scenes are ordered correctly, to patch in their lightmaps into the common LightmapSettings. (812486)
  • Graphics: Fixed a path issue when loading GI data. (858292)
  • Graphics: Fixed issue where instantiating a non-readable texture would crash Unity at Texture2D::AwakeFromLoad. (843287)
  • Graphics: Fixed light probes visualisation in linear rendering. (862215)
  • Graphics: Frame Debugger: shader property values originating from MaterialPropertyBlocks are now displayed properly.
  • Graphics: Frame Debugger: temporary render textures are now kept alive longer while frame debugger is active, for less confusing shader property display.
  • IL2CPP: Added support for C# exception filters. (831493)
  • iOS: A warning is now issued when CameraDepthTexture uses the wrong sampler type. (786455)
  • iOS: A warning is now issued when SV_POSITION is used as input in vertex shader. (809737)
  • iOS: Build flags are now prefixed with $(inherited) in Xcode project to improve compatibility with CocoaPods.
  • iOS: Fixed support for Movie textures on simulator.
  • iOS: Scripting profiler memory info is only available on development player configurations. The scripting profiler will now report when memory information is not available. (769072)
  • Kernel: Json serialisation now supports correct parsing of NaN and +/-Inf. (829753)
  • Particles: Added Undo support for action of creating a sub-emitter.
  • Particles: Fixed alignment of sub-emitter + button. (826058)
  • Physics: Deleting a Collider2D now triggers an OnCollisionExit2D or OnTriggerExit2D appropriately. (637042)
  • Physics: Fixed an issue where create was being called when shared mesh was set on disabled object. (835703)
  • Physics: Fixed issue where a Collider2D contact did not trigger a collision/trigger callback. (681844, 729084)
  • Physics: Fixed issue where cloth actor was still updated by physx, despite being asleep. (841299)
  • Physics: Resizing a Collider2D now results in collision/trigger callbacks if other Collider2Ds enter/exit the collider being resized. (773735, 822612)
  • Playables: Fixed a crash where UnloadUnusedAssets would unload Animation Clips used by AnimationClipPlayables. (854615)
  • Player: Fixed case of incorrect language being returned when system language was Spanish(Argentina). (820162)
  • SceneManager: Fixed issue whereby GetSceneManagerSetup would silently ignore untitled scenes. (827525)
  • SceneManager: Fixed issue whereby SceneManager was not initialized when OnEnable was called for editor windows during editor startup. (825237)
  • SceneManager: Scenes are now marked Loaded when sceneLoaded is invoked. (818573)
  • Scripting: Emit warning when adding a ScriptableObject to an asset if class name does not match file name. (829259)
  • Scripting: Fixed issue where operator != for Mesh, Rect, Quaternion, Vector2, Vector3 and Vector4 would incorrectly return false if either side contained a NaN value.
  • Scripting: Improve unhelpful "iterator==end" error message when reading serialized metadata. (833245)
  • Scripting: OnDisable is now called on shutdown for scriptable object assets.
  • Shaders: Fixed Editor crash on Windows when viewing a Material using a shader which contains a pre-processor #error token. (824020)
  • Shaders: UI-DefaultFont shader is no longer in the list of "always included shaders" in graphics settings by default (it is not needed by UI). (784192)
  • SpeedTree: Fixed an issue where modifying the scene in edit mode could cause SpeedTree trees to play wind animation. (830097)
  • SpeedTree: Fixed an issue where SpeedTree billboards had z-fighting when affected by mutiple forward lights. (840206)
  • Terrain: Fixed an issue where adding a 5th texture to a terrain with custom material would result in an assertion. (845404)
  • Terrain: Fixed an issue where switching between tree painter and other painting tools caused the wrong brush texture to be used. (840337)
  • Terrain: Fixed an issue where terrain brush was not rendered if terrain transform position has a Y value greater than 50. (852049)
  • Terrain: Fixed buggy behaviors when multiple terrain inspectors are present. (836778, 847863)
  • UI: DockArea position is now calculated correctly, which fixes issues with canvas sizing. (819960)
  • UI: Fix to prevent two 'Aspect Ratio Fitter' components from being set on one object. (792793)
  • UI: Fixed blurry text when width and height are set to uneven numbers. (826409)
  • UI: Fixed case of animation lagging, caused by an uninitialized member variable. (821319)
  • UI: Fixed crash caused by the use of GetComponent inside the ToString method. (828981)
  • UI: Fixed crash in RectTransform, triggered because it would send messages on the loading thread. (824011)
  • UI: Fixed issue where a child of a mask which has a disabled mask would not mask correctly. (829416)
  • UI: Fixed issue where RT cameras would not emit a UI element unless there was another camera present. (827532)
  • UI: Fixed issue with incorrect parameter order when calculating scrollRect offset. (827908, 829518)
  • UI: Fixed memory leak caused by disabled objects not getting removed from the render queue. (819470)
  • UI: Fixed performance issue in FontUpdateTracker. (Note that the case number referenced isn't fully fixed yet, but the performance issue is.) (794089)
  • VR: Added support for restoring the device render and viewport scales after unplugging the device and plugging it back in. (795561)
  • VR: Fixed a crash in the Editor that was triggered by setting the VRSettings.enabled flag to true. (836878)
  • Web: Fixed case of harmless 'Coroutine continue failure' error being thrown when stopping a WWW coroutine. (780200)
  • Web: Fixed case of UnityWebRequest not working in Editor when not in play mode. (859924)
  • Web: WWW.size will now report AssetBundle size when loading from cache. (693430)
  • WebGL: Fix to correctly report AudioSource time when doppler effect changes pitch. (817986)
  • WebGL: Fixed capturing of mouse moved events from web page. (831631)
  • WebGL: Fixed issues relating to reading into floating point textures.
  • Windows: Fixed issue where Application.systemLanguage would return the region language and not the UI language that the user is using. (820871)
  • Windows: Fixed player deployment to network path. (842379)
  • Windows: UWP fixes:
    • Fixed issue where WWW would throw away response headers when server returns 401.
    • Improved WWW consistency with the Editor. (815255)
  • Windows Store: Fixed case of incorrect resolution being reported when the composition scale changed and the game window was minimized. (832104)
  • Windows Store: Fixed cases where Editor profiler was sometimes failing to connect to an application running on remote device (e.g. Windows Phone). (833525)
Changeset:
721ff8e6f757

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