Unity 2019.3.0 Beta 4

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.

Known Issues in 2019.3.0b4

  • 2D: [2d Template] 2d Packages "Sprite" and "Tilemap Editor" is no longer included when using 2D template (1183894)

  • Deployment Management: Editor crashes on creating a build with custom Icon. (1185194)

  • Editor: Fix return value of DistanceToPolyLineOnPlane when it can't get a proper raycast hit. (1174967, 1176284)
    Fixed in 2019.3.0b5.

  • Graphics - General: RenderTextures break after switching window focus (1179935)

  • Graphics - General: [URP] [Regression] CommandBuffer name is always CommandBuffer.Execute on FrameDebugger (1183762)

  • IMGUI: Save Scene Dialog appears twice on clicking "Don't Save" on changing Graphics API (1181646)

  • Linux: Play keyboard shortcut doesn't work when in playmode (1179119)

  • Linux: Tile Palette's default brush does not paint tiles (1176950)

  • Linux: Ubuntu - Unable to select gameobjects in playmode (1176010)

  • MacOS: Unity Editor requests permission to Receive Keystroke input when using other apps (1172758)

  • MacOS: [Editor] Color Picker state is always active even if a color is selected and the color is not getting applied (1172123)

  • Packman: "Reset Packages to Defaults" has no effect (1174733)

  • Profiling: [Profiler] Profiler reopens a blank window with errors when audio frame data is selected at the time of closing it (1183981)

  • Profiling: [Profiler] Show calls and Show Related object window doesn't open when player loop dropdown is open in Hierarchy mode (1179845)

  • Scene Management: Enabled Prefab is disabled after upgrading to Improved Prefabs (1138224)

  • Scene Management: Transform::GetWorldToLocalMatrix crash during first import when accessing Components in Prefabs (1159905)

  • Scripting: Crash on SortByExecutionOrder after setting up font kerning values when PlayerPrefs.DeleteAll() is called in Start() (1179631)

  • Scripting: Fix plugin script extraction for package UnityEngine.UI types (1160664, 1184013)
    Fixed in 2019.3.0b5.

  • Scripting: [Android] Build and run fails when Rewired is present in the project (1169148)

  • Scripting: [Mac] Crashes on __pthread_kill when opening a Script when there's no Visual Studio installed (1173314)

  • Scripting: [SerializeReference] Failure to add managed reference to List the first time when using SerializableObject (1181373)

  • Shaders: Optimize ShaderGUIUtility.ExtractCustomEditorType by using TypeCache.GetTypesDerivedFrom(). (1094991, 1181754)
    Fixed in 2019.3.0b5.

  • Themes: [Window Management] Window Titlebar is not aligned with the editor layout when the window is maximized (1174958)

  • UI Elements: Fixed UIElements content disappearing after a RenderTexture release occur (1174970, 1176286)
    Fixed in 2019.3.0b5.

  • VR: [Oculus GO] PostProcessing effects are not applied to built applications (1103954)

  • uGUI: Canvas' children scale when GameObjects are being selected in the Hierarchy (1179114)

  • uGUI: When using the Button component, Texture2D can't be unloaded after switching the Scene and/or using Resources.UnloadUnusedAssets (1160054)

New 2019.3.0b4 Entries since 2019.3.0b3

Features

  • Linux: Added IL2CPP scripting backend support for Linux standalone player

Changes

  • Android: Allow up to 8 job worker threads when using "-job-worker-count"command line option
    This is a new issue, not seen in any released version.

  • Editor: Previous script compile errors are now cleared when you start a new script compilation.

  • Graphics: Added Profile Marker "Gfx.WaitForRenderThread"

Improvements

  • Android: Android OpenJDK now installable via Unity Hub as separate optional component, Android support is smaller because of that.

  • Editor: Make linkLabel style public

  • Scripting: Add ENABLE_INPUT_SYSTEM and ENABLE_LEGACY_INPUT_MANAGER defines so code can be written to work in both input systems

Fixes

  • 2D: Fixed crash on "SpriteAtlas::ReconcilePackedSprites" during AssetBundle build while repacking Sprite Atlases. (1141327, 1182219)
    This has already been backported to older releases.

  • Asset Pipeline: Fixed object changes lost in PostprocessAllAssets. (1177525, 1177556)

  • Asset Pipeline: Fixed sub object lost in PostprocessAllAssets. (1175514, 1175515)

  • Editor: Bring back inspector autoscroll, do not reset scroll position when entering playmode. (1169695, 1178359)
    This has already been backported to older releases.

  • Editor: Shortcut Manager shortcut profiles are missing after upgrading to newer version (1173228, 1180310)
    This has already been backported to older releases.

  • GI: Fix for issue where it crashes when calling GetEnabledRealtimeLightmaps from a thread (1173117, 1181942)

  • GI: Fixed an issues with correllation artifacts when sampling the environment. (1174966, 1176196)

  • GI: GPU baking with 1 bounces is faster than 0 bounces (1169748, 1177547)

  • Graphics: Fix a crash happening when using duplicated surface shaders with the exactly same content in ray tracing. (1179624, 1181679)
    This is a 2019.3 issue, not seen in any released version.

  • Graphics: Fixed SetPixels/GetPixels when using SRGB formats. (1179921, 1179990, 1182585, 1183181)

  • Graphics: Fixed terrain rendering in Camera preview window. (1176813, 1179685)
    This is a new issue, not seen in any released version.

  • Graphics: Removed wrong error message when using Graphics.DrawMeshInstancedIndirect (1175217, 1175972)

  • IL2CPP: Adding support for initializing "in" parameters with constant default values. (1174681, 1176025)
    This has already been backported to older releases.

  • IL2CPP: Avoid an error while processing the Unity.Entities assembly due to incorrect handling of a generic virtual method on a generic type. (1176672, 1178603)

  • IL2CPP: Avoid exception related to loading libc on platforms that don't support it.

  • IL2CPP: Correct the behavior of SendFile on Windows. (1171712, 1176952)
    This has already been backported to older releases.

  • IL2CPP: Correct the reference count behavior for SafeHandle marshaling with out parameters. (1175211, 1177744)
    This has already been backported to older releases.

  • IL2CPP: Fixed an issue with IL2CPP not returning null when calling Activator.CreateInstance() with a nullable type, which is the expected behavior when compared to Mono and .NET. (1172280, 1176019)
    This has already been backported to older releases.

  • IL2CPP: Fixed an issue with IL2CPP where casting a negative float to an unsigned integer type would produce different results between x86 and ARM platforms. (1166109, 1176020)
    This has already been backported to older releases.

  • IL2CPP: Fixed symbol stripping from the executable in incremental builds. (1176071, 1178915)

  • IL2CPP: Fixing an unimplemented internal call that caused IL2CPP to fail when calling Marshal.StringToCoTaskMemAnsi(). (1172775, 1176016)
    This has already been backported to older releases.

  • IL2CPP: Generate proper code when array of type long or ulong is used as the type of a field in a marshalable type. (1173310, 1176022)
    This has already been backported to older releases.

  • IL2CPP: Prevent the creation of GC logs in non-development players. (1164367, 1178086)
    This has already been backported to older releases.

  • iOS: Fix multithreaded rendering by adding an additional validity check for backbuffer texture on ios/tvos. (1171225, 1176422)
    This has already been backported to older releases.

  • iOS: Fixed Deprecated API Usage warning for using UIWebView when submitting Builds to the App Store Connect. (1180664, 1182271)

  • Linux: [Backport] [Linux] Bugreporter is collecting Editor.log from wrong location for 2019.2.0a7+ (1176211, 1181811)
    This has already been backported to older releases.

  • macOS: Added camera/mic usage strings to macOS (1159086, 1159356, 1176150, 1183078)

  • macOS: Fixed codesign issues with generated Xcode project and Mac Standalone builds. (1170356, 1178326)
    This is a new issue, not seen in any released version.

  • Mobile: Added DecimalPad type for TouchScreenKeyboardType for Android and iOS platforms. (1170071, 1175242)

  • Package Manager: Add support for Packages in ref search ("Find references in Scene") (1161019, 1175544)

  • Package Manager: Fix json parsing error for local Asset Store packages. (1174649, 1182077)

  • Package Manager: Fixes the issue where package manager windows freezes after installing a package. (1174701, 1176289)

  • Particles: Apply clamping and wrapping to ParticleSystem.time script API, to ensure it is always valid (1179965, 1179966)
    This has already been backported to older releases.

  • Particles: Apply size over lifetime before detecting collisions on the first frame after a particle is spawned (1172390, 1175481)
    This has already been backported to older releases.

  • Particles: Ensure ParticleSystem.SetParticles applies new particle sizes immediately (1179889, 1179890)
    This has already been backported to older releases.

  • Particles: Fix assert message spam when using orthographic cameras and a Particle System with 0 scale along the Z axis. (1178477, 1180567)
    This has already been backported to older releases.

  • Particles: Fix crash when using Graphics.ExecuteCommandBuffer with a disabled ParticleSystemRenderer component. (1176567, 1178871)
    This has already been backported to older releases.

  • Particles: Fix regression in internal mathl ibrary causing some particle rotations to be represented incorrectly (1163414, 1178390)
    This has already been backported to older releases.

  • Particles: Fix Start Delay if system is paused and resumed before the Start Delay has expired (1178403, 1179671)
    This has already been backported to older releases.

  • Particles: Fixed animation bindings for the Orbital Velocity properties (1173552, 1175487)
    This has already been backported to older releases.

  • Particles: Fixed crash in WorldCollision function when spawning particles (1168859, 1175300)
    This has already been backported to older releases.

  • Particles: Fixed dynamic batching corruption. (1173610, 1175553)
    This has already been backported to older releases.

  • Particles: Fixed NULL reference exceptions when using the Line/Trail Renderer Inspectors (1169972, 1175315)
    This has already been backported to older releases.

  • Particles: Fixed NULL reference exceptions when using the Line/Trail Renderer Inspectors (1175208, 1175494)
    This is a 2019.3 issue, not seen in any released version.

  • Particles: Fixed regression when trying to use Material Proeprty Blocks with Particle Systems (1174499, 1175554)
    This has already been backported to older releases.

  • Particles: Prevent continuous repainting of the Particle System Inspector, to improve battery life of portable devices in the Editor (1087598, 1183175)
    This has already been backported to older releases.

  • Particles: Support rendering lines/trails using orthographic cameras with negative near plane values (1169997, 1175483)
    This has already been backported to older releases.

  • Physics: Fixed a bug in EdgeCollider2D or CompositeCollider2D (in Outline Mode) which resulted in bad collision detection when using very acute angles. (1084610, 1181752)

  • Physics: Fixed a bug that allowed fractionally collinear vertex to be specified for PolygonCollider2D and CompositeCollider2D (in Outline mode) which resulted in bad collision detection. (1162291, 1181517)

  • Profiler: Fixed a crash that happened during the memory snapshot capture process when accessing the scripting backend heap. (1110895, 1181390)

  • Profiler: Removed unnecesary coppies of scripting backend data the snapshotting process created, and reducing memory overhead by 96% (1142394, 1177626)

  • Scripting: Fixes EditorUtility.CollectDependencies() always returning null (1179390, 1181776)

  • Scripting: Makes the incremental gc player setting force an editor restart when changed, as changing it without a restart could result in crashes. (1178756, 1182938)
    This is a 2019.3 issue, not seen in any released version.

  • Scripting: Negative maxdistancedelta in Vector3.MoveTowards should move away from target, not return target like positive maxdistancedelta. (1173400, 1180023)

  • Scripting Upgrade: Fix failures to resolve UnityAPICompatibilityVersionAttribute type/crashes after running AssemblyUpdater. (1161578, 1175500, 1184564, 1184565)

  • Timeline: Fixed issue where a clip locks to the playhead's position when moving it. (1157280, 1183579)

  • Timeline: Fixed issue where a different track's bound GameObject is highlighted when clicking a track's bound GameObject box. (1141836, 1183578)

  • Timeline: Fixed issue where fields for custom clips were not responding to Add Key commands. (1174416, 1183577)

  • UI: ix the UnityEvent property drawer showing UnityEvents in private properties correctly. (1178687, 1182953)

  • UI Elements: Fix the ScrollView to scrollTo horizontally and to any child of the scrollview. (1178213, 1183495)

  • UI Elements: Fixed UI Elements windows may not render correctly when docked (1174796, 1176302)

  • UI Elements: Fixed UIElements rendering on release Android (1165827, 1183284)
    This is a new issue, not seen in any released version.

  • UnityLinker: Correctly handle unresolved events on missing types, which can occur with the Vuforia package. (1178453, 1179602)

  • Universal Windows Platform: Added functionality to ensure that Visual Studio generated when targeting Visual Studio 2019 correctly uses v142 C++ toolset. (1166131, 1178918)
    This has already been backported to older releases.

  • Universal Windows Platform: Documented EditorUserBuildSettings.wsaUWPBuildType property. (1174627, 1178938)

  • Universal Windows Platform: Fixed Build & Run with Visual Studio 2019 (1158603, 1178952)
    This has already been backported to older releases.

  • Universal Windows Platform: Fixed building Executable Only builds for ARM 32-bit architecture. (1162618, 1178972)
    This has already been backported to older releases.

  • Universal Windows Platform: Fixed deploying to ARM and ARM64 devices when doing Build & Run via device portal with Executable Only build. (1162626, 1178969)

  • Universal Windows Platform: Fixed so that error message presents when deploying wrong CPU architecture build via device portal. (1178960, 1179441)
    This has already been backported to older releases.

  • Version Control: Asset Store package installation now tries to open Assets for edit in Version Control where they are being replaced. (1178410, 1179968)
    This has already been backported to older releases.

  • Web: Aborting downloads now deletes partially downloaded Asset bundles. (1160776, 1179514)

  • Windows: fix a rare crash ("Screen: DX11 could not switch resolution") when starting player on certain hardware and operating system configurations. (1178706, 1178913)
    This has already been backported to older releases.

  • Windows: Fix TLS handshake Windows/UWP when root certificate is trusted by the system but not yet in it's certificate store. (1076758, 1175310)
    This has already been backported to older releases.

  • Windows: Fixed IL2CPP scripting backend installer for Windows standalone player not present in Unity hub and download assistant. (1182989, 1183035)

  • Windows: Fixed Screen.fullscreenMode returning garbage value on Windows Editor. (1178561, 1178908)
    This has already been backported to older releases.

  • Windows: Fixes file operations failing because relative path exceeds MAX_PATH (1115524, 1181772)

Preview of Final 2019.3.0b4 Release Notes

System Requirements Changes

For running Unity games
  • iOS: minimum version incremented to 10.0 (from 9.0).

Features

  • 2D: The following 2D Packages are now Verified packages: com.unity.2d.spriteshape": "3.0.2", "com.unity.2d.animation": "3.0.3", "com.unity.2d.psdimporter": "2.0.3", "com.unity.2d.pixel-perfect": "2.0.2", "com.unity.2d.path":"2.0.1", "com.unity.2d.common":"2.0.1"

  • Android: com.unity.mobile.android-logcat v1.0.0 is now a verified package.

  • Android: Unity as a Library enables you to integrate Unity with other native Android applications.

  • Asset Import: Added a New Material Import Mode to the Model importer, which allows users to customize how Unity generates Materials when importing Models.

  • DX12: DirectX 12 GPU Shader validation can be enabled on the editor or player using the command line argument "force-d3d12-debug-gbv"

  • Editor: A new column in the Hierarchy window allows users to enable/disable Object picking in the Scene View. An Object that is "Not Pickable" is still be visible in the scene, but is ignored by click or drag-select interactions. Icons in the Object picking column indicate whether or not an Object is pickable. Toggling between Pickable/Not Pickable does not mark the scene as dirty, or affect game data.

  • Editor: Users can now disable domain reload and Scene reload when entering Play mode. This can speed up iteration in the editor.

  • Editor: Users can now set custom UI scaling on windows across the Editor.

  • GI: Added AMD Radeon Pro Image Filters AI denoiser for the CPU and GPU Progressive Lightmapper. Currently Windows and AMD hardware only.

  • GI: Added Experimental API for modular lighting bake.

  • GI: Added support for baking box and pyramid shapes for HDRP spotlights.

  • GI: Baked LightProbes from scenes are now merged when additively loading scenes. Use LightProbes.Tetrahedralize() to update the tetrahedralization lookup structure after additive loads so new SH coefficients can be looked up correctly.

  • GI: GPU lightmapper: Added submesh support

  • Graphics: Ability to specify custom Mesh vertex data formats, and set vertex buffer data from NativeArrays. See VertexAttributeFormat, VertexAttributeDescriptor, Mesh.SetVertexBufferParams, Mesh.SetVertexBufferData.

  • Graphics: Ability to specify Mesh submesh information directly, and set index buffer data from NativeArrays. See SubMeshDescriptor, Mesh.SetIndexBufferParams, Mesh.SetIndexBufferData.

  • Graphics: Added an experimental Ray Tracing API. The experimental API is currently implemented on top of DirectX Raytracing API (part of DirectX 12 Graphics API) and requires at least Windows 10 October 2018 version (1809) and a DXR-enabled GPU. New objects exposed in C# UnityEngine.Experimental.Rendering namespace: RayTracingShader and RayTracingAccelerationStructure. Use SystemInfo.supportsRayTracing for checking if a system supports the Ray Tracing API.

  • Graphics: Added Graphics.DrawMeshInstancedProcedural, which is similar to DraMewshInstancedIndirect, but doesn't require compute support (useful for Procedural Instancing)

  • Graphics: Added the RayTracingAccelerationStructure class with NativeTests.

  • Graphics: Added the RayTracingRootSignature class.

  • Graphics: On Demand Rendering. Ability to set the rendering speed independently from other engine updates.

  • Graphics: SRP Batcher now support Skinned Mesh rendering

  • Graphics: VisualEffect : Added a customizable initial event name support

  • iOS: Unity as a Library enables you to integrate Unity with other native iOS applications.

  • Kernel: Added JobsUtility.ResetJobWorkerCount to reset JobWorkerCount to the Unity adjusted value.

  • Kernel: Set the main JobQueue worker thread count from the command line or boot.config (player only) using "job-worker-count" property. Added JobsUtility.jobWorkerMaximumCount to inspect the maximum JobQueue worker thread count. Added JobsUtility.jobWorkerCount to set/get the current JobQueue worker thread count.

  • Linux: Added IL2CPP scripting backend support for Linux standalone player

  • macOS: Unity can now generate Xcode project for macOS standalone build

  • Multiplayer: Added UNET encryption support

  • Package Manager: Added a Diagnose button to the Unity Package Manager dialog warning of critical failure. Clicking the Diagnose button now launches the Package Manager Diagnostics tool and closes Unity.

  • Package Manager: Added support for Asset Store packages in the Package Manager UI with the new My Assets filter.

  • Package Manager: Added the ability to add a package from a tarball in the Package Manager window.

  • Package Manager: Asset Store packages are now visible in the Package Manager UI through the new My Assets filter.

  • Package Manager: Enabled UI support for Git package installation in the Package Manager window.

  • Package Manager: Unity now supports a number of package authoring tasks through the UI:

    • Create a package from the Package Manager UI.
    • Develop a package from the Package Manager UI.
    • Remove a package in development from the Package Manager UI.
    • Open the Package Manager UI to a selected package in the Project Browser.
  • Particles: Bring managed job support for Particle Systems out of experimental status, and improve the API to support job dependencies, and Burst.

    • Note that this release removes the ParticleSystem.SetJob and ParticleSystem.ClearJob API, and replaces them with MonoBehaviour.OnParticleUpdateJobScheduled, which is the new place to schedule managed Particle System jobs.
  • Physics: PhysX 4.1 upgrade. This brings us lots of accuracy improvements, some better performance in a variety of cases.

    Additionally, we expose a few of the new features:

    • a new, faster, midphase that doesn't need R-Trees to be built (see MeshCookingOptions.UseFastMidphase, available on Desktop targets)
    • a new broadphase algorithm that's faster than sweep-and-prune in most cases (see Automatic Box Pruning in the physics settings)
    • a new solver that's good for reducing joints issues (see Temporal Gauss-Siedel solver type in the physics settings)
    • a new Physics.BakeMesh() function to pre-cook meshes for MeshCollider (including off the main thread)
  • Player: com.unity.adaptiveperformance v1.0.0 is now a verified package.

  • Player: com.unity.adaptiveperformance.samsung.android v1.0.0 is now a verified package.

  • Profiler: Added Deep Profiler support to Mono and IL2CPP players.

  • Profiler: Added Deep Profiling support build option to players. When you build a Player with Deep Profiling, C# code instrumentation can be dynamically enabled and disabled.

  • Profiler: Added managed allocation callstacks support in players. When you enable callstacks collection, GC.Alloc samples contain C# code callstack.

  • Profiler: Added support for managed allocation callstacks in players.

  • Timeline: Added "Pan" autoscrolling option in the Timeline window.

  • Timeline: Added auto scroll option in Timeline Editor.

  • Timeline: Timeline Lock is now worksing as Mute work.

  • UI: Unity UI is now a package. The package documentation is avaialble at https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/index.html

  • UI Elements: Added pointer events

  • UI Elements: New floating tool windows are available for GraphView-based products.

  • UI Elements: Users can now assign different top, left, right, and bottom border colors to UI.

  • Universal Windows Platform: Enabled Device Portal support for ExecutableOnly builds

  • Windows: HDRDisplay is now supported for UWP and Windows Standalone for DX11 and Dx12

Backwards Compatibility Breaking Changes

  • 2D: Renamed Tilemap Editor to 2D Tilemap Editor.

  • Android: Default threshold for warning about App Bundle size increased up to 150MB.

  • Android: Minimum supported Android version is now Android 4.4 KitKat (API 19)

  • Android: The option to target x86 for Android has now been removed.

  • Android: Updated Android NDK used to version r19.

  • Apple TV: Removed support for Universal Harmony Remote, currently there's no way to properly support Universal Harmony Remote without breaking Siri Remote.

  • Asset Import: Added a warning when Unity imports multiple sub-Assets with the same name or type. This often happens when importing Models with multiple Meshes or Materials that have the same name in the .fbx file. Their resulting fileID (and thus references to them) may break or change if Unity finds a new sub-Asset with the same name before the existing one after re-importing.

  • Asset Import: Starting with the Unity 2019.3 release, direct import of Cinema4D files will require an external plugin. Keep an eye on our External Tools forum for updates: https://on.unity.com/c4d.

  • Editor: Editor now follows shader keywords more strictly, falling back to error shader with invalid keyword sets.

  • Editor: In the Scene View camera settings window, removed the slider to set easing duration.

  • Editor: The Preset Manager now supports a list of default Presets for each Preset type instead of a single Preset. The default Preset contains a filter that is tested against the new default Object to determine whether or not to apply the Preset to the Object. Every matching Preset is applied, in order, to the new default Object, regardless of whether it was created using the ObjectFactory API or an importer.

  • GI: Deprecated Enlighten, and hid it from new Projects in Scriptable Render Pipelnes. Upgraded Projects will still show it.

  • Graphics: Adding explicit depth resolve to RenderPass Metal

  • Graphics: Graphics Jobs is now enabled by default in the 3D Template

  • Package Manager: Moved the Create + Develop feature from out of this version of the Package Manager UI. This will be available in a future release of Unity.

  • Scripting: Added icon for Assembly definition reference (asmref) asset files.

  • Scripting: Incremental GC is now no longer marked as "Experimental"

  • Timeline: Enabled rectangle tool for inline curves.

  • Timeline: Updated Timeline package version to 1.1.0

  • Universal Windows Platform: Removed icons that were only used on Windows 8.1 apps from Player Settings (1139095)

  • Version Control: Assets menu Version Control submenu got moved near top of the menu, into the same place where Collaborate menu is.

  • Video: Legacy MovieTexture (Theora-based video playback system) has been removed. Use VideoPlayer instead.

  • Windows: Command line arguments '-gpu' and '-adapter' replaced with '-force-device-index' and '-monitor' respectively to be consistent with MacOS and Linux.

Changes

  • 2D: Version 3.2.3 of the 2D template

  • Android: Android Gradle plugin version updated up to 3.4.

  • Android: Gradle version updated up to 5.1.1.

  • Android: Improve error messages for cases where android application fails to load libmain.so. Previously it was printing "Unable to find main", now it will print "Failed to load 'libmain.so', the application will terminate.", additionally it will print exception from System.loadLibrary with detailed info, where the application was looking for libmain.so

  • Editor: Previous script compile errors are now cleared when you start a new script compilation.

  • Graphics: Added Profile Marker "Gfx.WaitForRenderThread"

  • Graphics: Version 4.0.3 of the 3D Extra template

  • Graphics: Version 4.2.2 of the 3D template

  • Version Control: Paths outside of the unity project are considered to never be part of version control, e.g. AssetDatabase.IsOpenForEdit will return true for them

Improvements

  • 2D: Add multiple texture support to Sprite Shape Renderer.

  • 2D: Added a toggle to allow changing of Z Positions with the Grid Brush.

  • 2D: Added CreateTileFromPaletteAttribute to allow users to specify how and what Tiles are created when dragging Assets onto the Tile Palette window.

  • 2D: Added multiple texture support to Tilemap Renderer.

  • 2D: After picking from the Tile Palette, switch to a paintable tool if previous tool was not a paintable tool

  • 2D: GridPaintingState APIs are now exposed to allow users to programatically change Tile Palette Painting states.

  • 2D: Reduced memory usage of a Tilemap Tile by 16 bytes.

  • 2D: Unity now stores the last used Grid Brush when entering or exiting Play Mode.

  • 2D: Update 2D verified Packages "com.unity.2d.animation": "3.0.4", "com.unity.2d.common": "2.0.2", "com.unity.2d.path": "2.0.2", "com.unity.2d.psdimporter": "2.0.4", "com.unity.2d.spriteshape": "3.0.4",

  • 2D: Users can now convert Prefabs to Tile Palettes by dragging a valid Prefab onto the Tile Palette window directly.

  • Android: Android OpenJDK now installable via Unity Hub as separate optional component, Android support is smaller because of that.

  • Android: Custom UnityPlayerActivity implementations can now modify the command line arguments passed to Unity during startup.

  • Android: Enabled Vulkan support for Optimized frame pacing on Android.

  • Android: Unity now uses cpu_capacity for big.LITTLE core detection on devices where the Linux kernel supports it.

  • Animation: Added a sorting order to Animation Playable Output to control how Playable Graphs execute in the Animator.

  • Animation: Exposed keyframe reduction options on GameObjectRecorder.SaveToClip().

  • Animation: Limited curve dragging in curve editor to only be available when pressing down the Shift key.

  • Audio: Better error reporting when audio clips fail to play (1118840)

  • Audio: Faster import of audio files

  • Build Pipeline: Added BuildAssetBundleOptions entry that allows stripping the Unity version from built asset bundles.

  • Build Pipeline: LZ4 lib version updated to 1.9.1

  • Build Pipeline: LZMA lib version updated to 19.00

  • Editor: 2D and 3D primitive collider tools are now Editor tools, compatible with the Scene toolbar, and top left toolbar.

  • Editor: 3D joint tools are now Editor tools.

  • Editor: 3D primitive collider tools are now Editor tools.

  • Editor: Added a toggle to the scene camera settings to disable infinite acceleration when navigating with flying mode.

  • Editor: Added Enable Code Coverage option in General Preferences. Added a popup and a console warning to notify users that enabling coverage lowers performance. Enabling coverage displays [CODE COVERAGE] in the window title bar.

  • Editor: Added a shortcut for the Scene Visibility Show All command.

  • Editor: Added shortcus for SceneView Camera modes.

  • Editor: Added support for generics to UnityEditor.TypeCache API

  • Editor: Added EditorSceneManager.sceneDirtied and PrefabStage.prefabStageDirtied callbacks, that are called when a user modifies a previously unmodified Scene/Prefab.

  • Editor: Made terminology for refer to the new and old input systems in Player Settings consistent: "Input System Package" and "Input Manager".

  • Editor: Make linkLabel style public

  • Editor: ProBuilder updated to 4.1.0.

  • Editor: Show an info box in the old Input settings suggesting to use the new one (and strongly suggesting so if the old input system backend is turned off).

  • GI: Added extra verification for Experimental.Lightmapping.SetCustomBakeInputs API.

  • GI: Added support for scaling Light Probe sample counts with the lightmap sample counts. A multiplier is added to adjust the Light Probe sample counts vs. lightmap sample counts. (1135553)

  • GI: GPU lightmapper: Match CPU lightmapper sampling scheme for improved quality.

  • GI: Improved performance by making Unity only denoise the Ambient Occlusion buffer when Ambient Occlusion is enabled.

  • GI: Increased the responsiveness of the Editor during baking with the Progressive GPU Lightmapper with AMD GPUs.

  • GI: ReceiveGI.LightProbes objects no display in the Lightmap indices visualisation view.

  • GI: Reduced overhead in compositing when baking lightmaps with the Progressive GPU Lightmapper.

  • GI: Rreduced main thread overhead of the baking pipeline.

  • Graphics: Bind constant buffer is now supported on OpenGL 4.3+ and OpenGL ES 3.1+.

  • Graphics: Exposed hardware-specific device limits for binding compute buffers in different shader stages.

  • Graphics: Exposed hardware-specific device limits for compute shader thread group sizes.

  • Graphics: Graphics: Mesh scripting API improvements. Added non-alloc overload of GetVertexAttributes. Added NativeArray overloads of Mesh.SetFoo. Added T[] and List overloads of SetVertexBufferData and SetIndexBufferData

  • Graphics: Improved error logging in case ETC texture compression fails in the Editor

  • Graphics: Improved sRGB fallback to unorm format warning to explain how to silent it. (1127043)

  • Graphics: Inspector operations like selecting, editing, undo on large assets (Texture3D, Texture2DArray etc.) is much smoother now

  • Graphics: Made changes so that EncodeToPNG() supports the 16-bit grayscale format.

  • Graphics: Mesh class got HasVertexAttribute and GetVertexAttributeDimension methods.

  • Graphics: Mesh class got slice-style setters, e.g. SetVertices(Vector3[] data, int start, int length).

  • Graphics: Mesh class SetIndices/GetIndices got 16-bit index format overloads.

  • Graphics: Metal: improved debug groups structure

  • Graphics: Optimised Cluster Rendering networking

  • Graphics: Optimized away a redundant memory copy in Mesh.GetIndices implementation.

  • Graphics: Optimized shader build times during player build, especially when another player build was already done before. Saves 10-20 seconds of typical player build time.

  • Graphics: Remove (Experimental) tag from Graphics Jobs setting and make it a per platform setting

  • Graphics: SetPixelData API was added to Texture2D, Texture2DArray, Texture3D, Cubemap and CubemapArray classes to allow setting raw texture data directly. This works in a similar way to Texture2D. LoadRawTextureData, but instead of having to precalculate data offset and size, the data can be copied directly to a particular miplevel/array element/cubemap face. (1162624)

  • Graphics: Texture mip map streaming system now exposes calculated mipmapLevel via Texture2D.calculatedMipmapLevel (unaffected by requestedMipmapLevel or minimumMipMapLevel) Texture mip map streaming system now supports Texture2D.minimumMipmapLevel for per texture control of the minimum mip that will be selected. Fixed race condition in mip map streaming calculation that could cause Texture2D.desiredMipmapLevel value to be incorrect if read while the job was still running. (1153431)

  • Graphics: Texture2D.CreateExternalTexture now also accepts ID3D11Texture2D (DX11) and ID3D12Resource (DX12).

  • Graphics: Vastly decreases the time taken when a Ray Tracing shader is executed for the first time or a particular shader code or configuration associated to a Ray Tracing dispatch has changed.

  • Graphics: Vulkan texture creation during async load optimised to remove hitches for large textures

  • Graphics: [metal] iOS native resolution is now same as render resolution int most cases, this way avoiding final blit

  • iOS: Minimum supported iOS version is now iOS 10

  • iOS: Unity now warns you if you try to render MeshTopology.Points on Metal with shaders that don't have PSIZE output.

  • Kernel: Improve main thread utilisation for IJobParallelFor jobs

  • Kernel: Introducing new serialization attribute: SerializeReference

  • macOS: [metal] Added initial Graphics Jobs implementation on iOS and macOS platforms

  • Package Manager: Added a new git attribute to the PackageManager.PackageInfo C# class (https://docs.unity3d.com/ScriptReference/PackageManager.PackageInfo.html).

  • Package Manager: Added conflict resolution information logging in the upm.log during the resolve operation.

  • Package Manager: Added menu extension to add new items to the Package Manager UI.

  • Package Manager: Added support for the SCP format (for example, git@github.com:user/repo.git) when using Git-based packages.

  • Package Manager: Conflicts are no longer reported as errors when the requested dependency of a package is satisfied by a greater major version.

  • Package Manager: Deprecated the Package Manager UI as a package.

  • Package Manager: Grouped Assets in separate pages for the "My Assets" filter in the Package Manager UI.

  • Package Manager: Reduce Editor LastLayout file size

  • Package Manager: Warn the user when they try to enter Play mode while downloading Assets from the AssetStore. Warn the user when they try to start downloading a package from the AssetStore while are in Play mode.

  • Particles: Expose the "particle" property in the EmitParams, so users can easily override every proeprty of emitted particles.

  • Profiler: Added a Remember Last Recording State option to the Preferences Window to toggle the Profiler's behavior between remembering the Record button state within a session, or remembering it across sessions on the same machine.

  • Profiler: Added Frame Count to the Profiler Preferences to adjust the visible frame count in Profiler Window.

  • Profiler: Added thread dropdown to Hierachy View of the Profiler window.

  • Profiler: Improved information about Shader compilation in the Profiler.

  • Profiler: Reduced the Profiler overhead when flushing data from Job threads.

  • Profiler: Reworked Profiler toolbar and rearranged buttons:

    • Profile Editor button has been removed. You can now select Editor as a Target.
    • Record, Save As, Load, and Current are now icon buttons.
    • Allocation Callstacks has been renamed to Call Stacks
    • Added Open Manual and an overflow menu button that contains Color Blind mode and a link to Profiler Preferences.
  • Scripting: Add ENABLE_INPUT_SYSTEM and ENABLE_LEGACY_INPUT_MANAGER defines so code can be written to work in both input systems

  • Scripting: Added project name to the boot.config file for Players. This will enable popular IDE's to display more information about the Player when attaching a debugger.

  • Scripting: Added support for the "||" (OR) operator for the define constraints in the .asmdef importer

  • Scripting: Throw exceptions when calling old Input APIs but the old input system is turned off.

  • Shaders: Added an checkbox in Graphics Settings to enable logging information about shader compilation at runtime (development and debug only).

  • Shaders: Added warning if duplicated global and local keyword is used

  • Shaders: Adding for C# keyword stripping local keywords support. Improving performance for variant shader variant finding

  • Terrain: Added support for arbitrarily-sized Terrain Paint Contexts so that they are no longer limited to 2x2 tiles.

  • Terrain: Made changes so that painting and setting Terrain height always uses world space coordinates. (1118605)

  • Timeline: Scrolling horizontally with either the mouse wheel or track pad now pans horizontally in Timeline's clips area.

  • Timeline: Scrolling with either the mouse wheel or track pad is now context-sensitive in Timeline. It zooms if the pointer is above the clips area, it pans everywhere else.

  • UI Elements: Extended the Image class and the background-image property to support SVG image assets.

  • UI Elements: ListView is now bindable via C# and UXML.

  • UI Elements: On SM3.5+, both point and bilinear textures will be elligible to enter the automatic atlas (if the other criterias such as size are fulfilled as well). Below SM3.5, only bilinear sampling is required and using point sampling will break batches.

  • Universal Windows Platform: Added 'GazeInput' Capability to UWP Publisher Settings within the Editor (1162038)

  • Universal Windows Platform: Added warning in Player Settings inspector for when when selected icons are too large and will fail Windows App Certification Kit tests (1146113)

  • Version Control: Added "-vcsMode" editor command line argument to set VCS mode.

  • Version Control: Added "Overwrite Failed Checkout Assets" editor setting, turning it off makes unity not overwrite files that can't be checked out

  • Version Control: Added a confirmation dialog for moving or renaming folders under version control (1108630)

  • Version Control: Inspector VCS status bar was moved to the top, and in addition to "Checkout" got "Add", "Lock", "Unlock", "Submit" buttons when appropriate.

  • Video: On WebGL, videos with non-square pixel aspect ratio now displayed correctly.

  • XR: Added a protected context option to the Oculus Android settings that should only be enabled when you know that you require a protected graphics context (typically for DRM video).

  • XR: Added a V2 signing option to the Oculus Android settings that should be used when building for Quest, and disabled when building for Go and GearVR.

  • XR: Added GPU Profiler support for Oculus Quest and Oculus Go.

  • XR: Added support for the "Lumin world microphone", which can be selected by its device name via Microphone.Start.

  • XR: Updated Oculus to use the 1.36 plugin.

API Changes

  • Android: Added UnityEditor.Android.AndroidExternalToolsSettings to control External Tools Settings.

  • Animation: Added Animator.AddJobDependency(JobHandle) to allow user to run jobs prior to animator jobs.

  • Animation: Moved Animation C# jobs out of experimental namespace UnityEngine.Experimental.Animations to UnityEngine.Animations

  • Asset Import: Added the CollectImportedDependenciesAttribute to allow users to set up dependencies on imported Assets (to be used from AssetPostprocessors).

  • Asset Import: While importing a Model, you can now use ModelImporter.avatarSetup to change the way avatars are created, based on the AnimationType.

  • Asset Pipeline: Added the experimental AssetDatabaseExperimental.GetAvailableImporterTypes API for listing the importer types which can handle an Asset type.

  • Audio: New AudioSettings.Mobile.interface to detect mute state on Android/iOS and to stop/start AudioOutput thread to reduce energy comsumpion

  • Build Pipeline: Expose PackedAssets class as part of the BuildReport, used for AssetBundle and sharedassets analysis

  • Build Pipeline: Renamed ContentBuildInterface.PrepareScene to ContentBuildInterface.CalculatePlayerDependenciesForScene

  • Build Pipeline: Replaced ContentBuildInterface.WriteSerializedFile & WriteSceneSerializedFile individual parameters with a struct of parameters

  • Editor: Added a new default API for Presets that works with a list instead of a single Preset, and supports default filtering.

  • Editor: Added InitializeOnEnterPlayModeAttribute to execute reset code for the configurable Enter Play Mode feature.

  • Editor: Added EditorTool.OnDrawHandles method for drawing handles on inactive custom Editor tools.

  • Editor: Added EditorUtility.DisplayDialog overload that takes a DialogOptOutDecision Type and an identifying string. Using this overload gives users the the ability to opt-out of seeing modal system dialogs.

  • Editor: Added UnityEditor.Compilation.CompilationPipeline.RequestScriptCompilation public API that allows user code to trigger script compilation.

  • Editor: Added UnityEditor.EditorUtility.RequestScriptReload public API that allows Script reloading.

  • Editor: Marked the UnityEditorInternal.InternalEditorUtility.RequestScriptReload public API as obsolete.

  • GI: Add Lightmapping.lightingDataUpdated event. This event is called when the LightingDataAsset is updated.

  • GI: Added API to set environment sample count for Progressive Lightmapper. LightmapEditorSettings.environmentSampleCount.

  • Graphics: Added a binding on the useColorTemperature property of the light.

  • Graphics: Added command buffer API to control single-pass instancing multiplier

  • Graphics: Added index support to Color32 struct.

  • Graphics: Added InvokeOnRenderObjectCallback to ScriptableRenderContext.

  • Graphics: Added SystemInfo.supportsRayTracing to check whether you can create a D3D12 Raytracing Device on the current platform.

  • Graphics: Initial Event Support for VisualEffect

  • Graphics: Moved RenderingThreadingMode and renderingThreadingMode from UnityEngine.Experimental.Rendering namespace to UnityEngine.Rendering namespace

  • Graphics: Removed TextureCompressionQuality enum from the UnityEngine namespace. (1108722)

  • Graphics: Removed the Experimental tag from the following: VisualEffect component, VisualEffectAsset, and VFXManager.

  • Graphics: Removed the RenderPipelineManager callbacks signatures that was not taking a ScriptableRenderContext in parameter

  • Graphics: Renamed GPU Skinning on non-DirectX platforms to Compute Skinning

  • iOS: Open GLES2 and GLES3 have been deprecated on iOS and tvOS

  • Kernel: Added Unity.Jobs.LowLevel.Unsafe.JobWorkerCount and Unity.Jobs.LowLevel.Unsafe.JobWorkerMaximumCount to query and set the number of job worker threads in the main Unity Job System

  • Kernel: Added Unity.Jobs.LowLevel.Unsafe.ResetJobWorkerCount to reset the job worker count back to the Unity defaults

  • Package Manager: Added the new UnityEditor.PackageManager.UI.Window.Open function to open the Package Manager window to a selected package.

  • Package Manager: Renamed the recommended property verified on the UnityEditor.PackageManager.PackageInfo class.

  • Physics: Added the ability to create a standard Unity Mesh from any Collider2D using "Collider2D.CreateMesh()"

  • Physics: Added the ability to generate a hash value for any Collider2D geometry using "Collider2D.GetShapeHash()"

  • Playables: Deprecated PlayableOutput.SetSourceOutputPort in favor of PlayableOutput.SetSourceOutput(Playable, int)

  • Profiler: Added EditorConnection.UnregisterConnection, EditorConnection.UnregisterDisconnection, PlayerConnection.UnregisterConnection, PlayerConnection.UnregisterDisconnection

  • Profiler: Added HierarchyFrameDataView.columnStartTime which gets the start time of Profiler samples.

  • Profiler: Added TakeSnapshot overload with screenshot handling to the MemoryProfiler API

  • Scripting: Add EditorUserBuildSettings.waitForManagedDebugger, instructs player to wait for managed debugger to attach before executing any scripts

  • Scripting: Add the TryGetComponent API to GameObject and Component classes that do not allocate in the editor when the component does not exist

  • Scripting: Added 'PlatformSpecificOpenFileAtLine' to allow platform specific ways of executing applications.

  • Shaders: Marked ShaderUtil.ClearShaderErrors() obsolete and replaced it with ShaderUtil.ClearShaderMessages().

  • Terrain: Added support for custom gather and scatter operations to the Terrain API.

  • Time: (BACKPORTED TO 2019.2) Introduced Time.captureDeltaTime, a more precise floating point reciprocal of Time.captureFramerate

  • Timeline: Added UnityEngine.Timeline.ILayerable interface. Implement this interface to have custom tracks support multiple layers.

  • Video: Removed MovieTexture class and API.

  • XR: Added mirror view blit support to the display subsystem C# API.

  • XR: Added more cross-platform/common stats to the display subsystem C# API.

Fixes

  • 2D: Collider 2D components and the Composite Collider 2D are now recomposited when there are offset and vertex distance changes while in outline generation mode.

  • 2D: Fixed a dead zone for Scene view Gizmos next to the Tilemap Focus window. (1168038)

  • 2D: Fixed an assertion message when Unity was launched with a Sprite Editor window docked from the previous session. (1169188)

  • 2D: Fixed an issue when Resources.Load() crashed on Sprite::GetRenderData() when there is no Sprite data. (1149030)

  • 2D: Fixed an issue where Particle Systems in Sorting Groups are sorted incorrectly if they have a sorting fudge value. They are now sorted in the same way as other Renderers when in a Sorting Group.

  • 2D: Fixed an issue where SpriteEditorWindow.OnPostprocessAllAssets is slowed due to calling Resources.FindObjectsOfTypeAll many times. (1166158)

  • 2D: Fixed an issue where the edge and fill of a Sprite Shape GameObject were drawn in the wrong order when using the Universal Render Pipeline. (1169108)

  • 2D: Fixed an issue where the Legacy Sprite Packer dialog box shows an incorrect path to the Project Settings. (1167641)

  • 2D: Fixed an issue where the Undo function did not undo some items properly when painting Prefab Tiles onto a Tilemap. (1137692)

  • 2D: Fixed crash when Tilemap.CompressBounds is called in Tile.RefreshTile. (1172512, 1176110)

  • 2D: SpriteRect visuals now display correctly when zooming in and out in the Sprite Editor window while creating a new selection. (1134295)

  • 2D: The Secondary Texture Module is now usable with importers. (1173521, 1176496)

  • 2D: The Sprite Editor window now shows correctly after a package is reinstalled. (1125290)

  • Android: Fix inefficient clears when rendering directly to the back buffer (1175186, 1175190)

  • Android: Fixed a bug where SystemInfo.processorType would give the incorrect architecture for 32 bit apps running on 64 bit devices.

  • Android: Fixed a crash when using Optimized Frame Pacing with Vulkan.

  • Android: Fixed a regression where Application.Quit wouldn't kill app in some cases, which prevented some of the services from reinitializing on application relaunch.

  • Android: Fixed an Android video player crash. (1166265)

  • Android: Fixed an issue on Android that caused the built project to show a black screen when using ARGB32 RenderTexture with HDR. (1063891)

  • Android: Fixed an issue that caused a black screen when enabling or disabling real-time light at runtime on Vulkan when using multiple render passes with MSAA. (1126522)

  • Android: Fixed an issue that caused Artifacts on Meizu MX5 when using GLES2 and realtime reflection probes. (1106542)

  • Android: Fixed an issue that caused procedural skyboxes to show black ground on Mali-400 GPUs. (1127106)

  • Android: Fixed an issue with GPU instancing on PowerVR devices. (1156362)

  • Android: Fixed an issue with Keystore paths that contained spaces, commas, full stops and other specific characters. (1141839)

  • Android: Fixed Android manifest generation when Daydream or Cardboard VR is enabled. (1154923)

  • Android: Fixed behavior of ForcedCrash types FatalError and Access Violation on Android and other POSIX platforms. (1142726)

  • Android: Fixed CPU core config detection for Galaxy S10 devices.

  • Android: Fixed distorted images on Tegra devices when loaded with DXT format. (1142668)

  • Android: Fixed signing of development builds so they use the debug key rather than the release signing key if available. (1172174, 1175272)

  • Android: Fixed some missing keyboard keybindings for the new input system. (1159198)

  • Android: Fixed threading configuration when Multithreaded Rendering and Graphics Jobs are both enabled and Vulkan is used as the Graphics API.

  • Android: Input system package: Fixed an issue where KeyControl.displayName for external keyboards didn't match the selected OS keyboard layout. (1093828)

  • Android: Mouse forwardButton and backButton now work correctly in the new input system. Note: Not all Android devices support these buttons correctly. (1159766)

  • Android: Mouse.clickCount now works correctly on the new input system. (1158552)

  • Android: QualitySettings.resolutionScalingFixedDPIFactor now works during run time. (1156467)

  • Android: Sensors should work correctly on Android 8.0 and higher in the new input system. (1158508, 1175476)

  • Android: Unity now correctly reports keyboard layout to input system package. (1093823)

  • Android: Unity now uses a relative path for keystore in project location after a second key is added. (977673)

  • Android: When AndroidBlitType.Never is used with Linear Rendering and SRP, the warning that displays now informs the user that linear-to-sRGB conversion is automatic. (1122492)

  • Animation: Added editor test to validate that recorded frame match simulated frame for animator (847233)

  • Animation: Changed the string "Normalized Time" to "Motion Time" in the AnimatorState Editor to avoid confusion when accessing the AnimatorStateInfo's normalized (1156287)

  • Animation: Disabled user script OnAnimatorMove called when sampling in the Animation Window (1145760)

  • Animation: Fix copy pasting of keyframes when order in animation window does not match sorted order of their curve paths (1139224)

  • Animation: Fix the color temperature animation binding (1056497)

  • Animation: Fixed an issue where Playable Director's "Playable" field was missing the prefab override contextual menu (1167365)

  • Animation: Fixed an issue where the Controller field of an Animator would not react properly to Prefab overriding. (1162239)

  • Animation: Fixed Animation Stream bindings mismatch when sampling in the Animation Window in play mode. (1161080)

  • Animation: Fixed AnimationClips' Reset functionality in the Inspector (1156073)

  • Animation: Fixed blendtree asset corruption when changing motion tab field with another blendtree asset. (1028113)

  • Animation: Fixed constant tangents evaluation when used in weighted curve segments. (1081191)

  • Animation: Fixed crash when removing a state in the animator controller state machine (1143974)

  • Animation: Fixed crash when sampling an animation from a FBX with AnimatedCustomProperties. (1166217)

  • Animation: Fixed crash when using Animation Jobs with invalid human avatar. (1161250)

  • Animation: Fixed custom animator property appearing as missing in animation window. (1165368)

  • Animation: Fixed humanoid bones not restored to previous values when stopping Animation Window preview (1138371)

  • Animation: Fixed mistakenly fired playable warning when graph was destroyed (1081779)

  • Animation: Fixed mouse press events so that Animator window does not get stuck in Pan mode (1140361)

  • Animation: Fixed NullReferenceException in Blend Tree inspector. (1153399)

  • Animation: Fixed NullReferenceException when deleting an override controller in the project folder when its inspector is still open. (1158222)

  • Animation: Fixed transform write order whenever a game object is deleted in an animated hierarchy. (1153868)

  • Animation: Fixed unstable test AnimationEventCanAlterTime (1146292)

  • Animation: Made AnimationWindowCurve also implement IEquatable as we have at least one case where we store these in a List and try to avoid double-insertions by calling Contains. (1123981)

  • Apple TV: Fix empty project crash during loading on Apple TV (1162495)

  • Asset Import: Changed the Model Importer so that it no longer enforces the AnimationType setting on first import. You can now use the default Preset for this setting and you can change it during the OnPreprocessAsset or OnPreprocessModel callbacks in the AssetPostprocessor. (1152163)

  • Asset Import: Fixed a crash that would occur when an object that was already added to the ScriptedImporter context was destroyed before the import was finished. (1133565)

  • Asset Import: Fixed a crash that would occur when importing an FBX file containing an Animation curve with only one frame at a very low negative time. (1160772)

  • Asset Import: Fixed an issue in the Audio Importer preview where the clip didn't stop playing if you clicked the Play button a second time.

  • Asset Import: Fixed an issue where Unity would log an error if the user deleted a script outside of the Editor. (1153082)

  • Asset Import: Fixed an issue with the Sketchup importer where some Scenes were generating empty Meshes during import. (1155424)

  • Asset Import: Fixed issue where animations from .blend files are not imported properly. (1117999)

  • Asset Import: Fixed out of memory crash when importing FBX assets with thousands of submeshes (1122713)

  • Asset Import: Fixed the Model Importer to prevent splitting when using 16-bit index buffers for Meshes that have less than 65535 vertices but which have an index buffer size that can accomodate more than three times the elements (3 * 65535). (1143742)

  • Asset Import: The Plugin Importer no longer changes the meta file while opening a Project. (1145258)

  • Asset Import: Unity no longer throws an error when you re-compile script while a MonoBehaviour Asset is selected. (1157050)

  • Asset Pipeline: Animated busy icon no longer rendered when compiling script (1168447)

  • Asset Pipeline: Fix for "Multiple Input Managers are Loaded of type" (1147011)

  • Asset Pipeline: Fix for infinite importing (1173082, 1176400)

  • Asset Pipeline: Fix for project being deleted, if temp folder got deleted while unity is running (1160415)

  • Asset Pipeline: Fixed a scripting issue where Unity would crash on AssetDatabase::ReserializePrefabs when attempting to save a Prefab at the same path as an existing folder. (1161227)

  • Asset Pipeline: Fixed an issue where mutually recursive Assets could cause a crash.

  • Asset Pipeline: Fixed an issue where Unity was assigning a new GUID to a meta file after "renaming" it to match the Asset filename's case. (1173655, 1175263)

  • Asset Pipeline: Fixed an issue with Unity sometimes not reloading Asset objects, after Asset DB2 introduced support for multiple import results. (1169784, 1175256)

  • Asset Pipeline: Fixed deadlock introduced by ArtifactFileSystem taking persistent manager lock (1176317, 1180046)

  • Asset Pipeline: Fixed object changes lost in PostprocessAllAssets. (1177525, 1177556)

  • Asset Pipeline: Fixed sub object lost in PostprocessAllAssets. (1175514, 1175515)

  • Audio: Fix crash in DSPGraph when clearing sample provider

  • Audio: Fix crash in some circumstances when changing audio output at runtime (e.g. unplugging headphones).

  • Audio: Proper error message is now provided in the console (632952)

  • Build Pipeline: Fix to properly disable the build buttins while the editor is compiling and the Assetdatabase is not ready. (1151099)

  • Build Pipeline: Fixed an issue that caused a crash at CompileGpuProgramSnippets when you cancelled a build during Shader Variant compilation. (1160092)

  • Build Pipeline: Fixed an issue where user created folders were being deleted on a failed player build. (1132299)

  • Build Pipeline: Fixed issue where inactive scenes were getting calculated into the scene build indexes (977745)

  • Build Pipeline: Fixed issue where Terrain loaded from an Asset Bundle wasn't able to access Terrain Shaders

  • Build Pipeline: Improved shader compilation progress bar to avoid editor to appear frozen during the build. (1031630)

  • DX12: Fixed an error in the Editor when changing color spaces resulted in an exception being thrown. (1123013)

  • DX12: Fixed debug rendering happening out of BeginFrame/EndFrame (1169782, 1176075)

  • DX12: Fixed debug rendering happening out of BeginFrame/EndFrame (1175105, 1176337)

  • Editor: Ctrl + F now sets focus on the Search field in the Settings window. (1169717)

  • Editor: Window > Bring All to Front now places secondary windows in front of the main window in the Editor, as expected, on macOS. (1141001)

  • Editor: Add new EditorWindow.HasOpenInstances() API endpoint to check whether an Editor window of type T is open.

  • Editor: Added Edit/Rename for Scene Hierarchy.

  • Editor: Added more information to an unrecoverable Undo scenario. (1116630)

  • Editor: Added Compilation.AssembliesType.PlayerWithoutTestAssemblies to support getting assemblies for the Player using CompilationPipeline.GetAssemblies without test assemblies.

  • Editor: Allow camera speed to modified with the scroll wheel when right mouse button is pressed.

  • Editor: Change link to unity store to the new one on the account drop down menu (859786)

  • Editor: Changeset window description field is displayed in a single line (1154901)

  • Editor: Editor: fixed error when building unity_builtin_extra not failing the build (1144465)

  • Editor: Fix and improve style catalog build and loading sequence (1165930)

  • Editor: Fix and improve style catalog build and loading sequence (1166899)

  • Editor: Fix Avatar Mask UI layouting (1154715)

  • Editor: Fix focus state IMGUI drawing (1170562)

  • Editor: fix for an invalid memory access iwhen querying for a deleted texture with DX12 mode (1138909)

  • Editor: Fix item highlight in quality settings (1159630)

  • Editor: Fix normal map asset icons looking washed out when imported in a Linear color space project (1158519)

  • Editor: Fix OnDestroy() get's called twice for custom Editor Windows (1156118)

  • Editor: Fix Perforce disconnecting when renaming an asset with AssetDatabase V2 enabled (1140262)

  • Editor: Fix renaming in project browser (1176643, 1178838)

  • Editor: Fix scrollbar mouse click paging (1161189)

  • Editor: Fix search field text clipping (1158540)

  • Editor: Fix text overflow of selection box in two columns layout (1156661)

  • Editor: Fix various Northstar cosmetic issues (1158609)

  • Editor: Fix various Northstar cosmetic issues (1159257)

  • Editor: Fix various Northstar cosmetic issues (1163086)

  • Editor: Fixed flickering during drag & drop. (907336)

  • Editor: Fixed a case where the Scene view camera could become stuck in a tilted rotation when rapidly switching from 2D to 3D perspective. (1159486)

  • Editor: Fixed a lag that occurred when viewports were fully concealed behind panels. (1140477)

  • Editor: Fixed a layout issue with nested GUILayoutFadeGroups that caused properties to be misaligned. (1158658)

  • Editor: Fixed a missing Script issue that occurred when minimizing and maximizing the Editor. (1095540)

  • Editor: Fixed a parsing issue in the new YAML backend. (1164292)

  • Editor: Fixed a renaming issue in the Project browser that occurred when when switching directories. (1169986)

  • Editor: Fixed a small memory leak that occurred any time a contextual menu was opened. (850599)

  • Editor: Fixed a text serialization parsing error that occurred when reading multi-line scalars in block sequences. (1153091)

  • Editor: Fixed an Editor issue on Windows where the Open Asset dialog did not display shortcut (.lnk) files. (1176433, 1181803)

  • Editor: Fixed an error that occurred when double-clicking folders in the Project browser. (1151435)

  • Editor: Fixed an error when using reflection probe anchor overrides in prefabs (1160643)

  • Editor: Fixed an issue where Use DXGI Flip Model Swapchain for D3D11 in the Project Settings window was clipped at some DPI settings. (1166698)

  • Editor: Fixed an issue where adding an illegal character in the Project folder threw an exception in the Console. (1159270)

  • Editor: Fixed an issue where clicking the arrow icon did not collapse/expand the Anchors section in the RectTransform Inspector. (1167867)

  • Editor: Fixed an issue where deleting a GameObject and performing an Undo caused the selection to be lost. (1160914)

  • Editor: Fixed an issue where drop-down menus that contain large strings with unicode characters freeze when opened. (1119511)

  • Editor: Fixed an issue where marquee selection always selected Assets loaded from a bundle. (1158173)

  • Editor: Fixed an issue where ReimportAll opened the wrong Project. (1160297)

  • Editor: Fixed an issue where resetting a Preset removed its Type and rendered it useless. (1147206)

  • Editor: Fixed an issue where Scene visibility data was lost when working with multiple Scenes. (1163991)

  • Editor: Fixed an issue where scroll bars in the Inspector window did not disappear after deselecting a GameObject. (1159191)

  • Editor: Fixed an issue where selecting Revert Factory Settings in the Layout menu did not delete custom Layouts. (1162824)

  • Editor: Fixed an issue where splash screen previews did not refresh in the Game view. (1166664)

  • Editor: Fixed an issue where the content of a Text Asset was not displayed in the Inspector window. (1155781)

  • Editor: Fixed an issue where the Scene Toolbar displayed the wrong icons when using the Hand, Orbit, and Zoom tools. (1164504)

  • Editor: Fixed an issue where Vector4 and Array types did not display values in the Inspector (1139928)

  • Editor: Fixed an issue where, when an Editor window fails to load, the window does not close and users cannot move or close it. (1146403)

  • Editor: Fixed an issue with Int Slider. (1162540)

  • Editor: Fixed an issue with Null Reference Exceptions occurring when previewing textures during Asset import. (1135750)

  • Editor: Fixed an issue with the frame debugger's draw call selector not functioning correctly. (1168943)

  • Editor: Fixed crash when opening project with Cache Server V2 enabled. (1165502, 1178159)

  • Editor: Fixed dragging and dropping to the bottom area of Inspector. (1152510)

  • Editor: Fixed high CPU and GPU load when a material with certain shaders is displayed in the Inspector (1158089)

  • Editor: Fixed incorrect asset icon being shown for assemblies.

  • Editor: Fixed incorrect color space drawing inside OnGUI() in Game view for Linear color space projects.

  • Editor: Fixed incorrect handling of Unicode characters in the application file name when building the Player. (1169358)

  • Editor: Fixed iOS/tvOS GLES Deprecation warning appearing always (1170222)

  • Editor: Fixed issue on startup where "Unable to resolve reference" errors were emitted for precompiled .dlls that referenced non-existent .asmdef assemblies in Library/ScriptAssemblies .

  • Editor: Fixed issue that occurred when deserializing ScriptableObjects with no underlying C# script. (1167575)

  • Editor: Fixed missing Edit Polygon Collider 2D tool. (1166083)

  • Editor: Fixed potential Null Reference Exception errors that could occur for Editors that implement OnSceneGUI(). (1148101)

  • Editor: Fixed save scene pop up not closing when canceled while restarting the editor. (1166643, 1176315)

  • Editor: Fixed the header of maximized Editor windows. (1167169)

  • Editor: Fixed the issue with Asset renaming during the creation (1173182, 1177692)

  • Editor: Fixed the Preview pane in the Object selector.

  • Editor: Fixed touch issues with the Editor on Windows. MouseDown position is now more precise. Dragging a property value on the edge of the screen no longer increases the value exponentially.

  • Editor: Fixed TypeCache not being initialized when accessed from EditorWindow through static constructors. (1174962, 1177553)

  • Editor: Fixed various issues with new editor theme (for UIElements) (1158886)

  • Editor: Fixed various northstar theming issues (1163447)

  • Editor: Fixes an issue where EditorTools could not accept Event commands before the SceneView interprets them. (1151523)

  • Editor: Game view could hardly be resized because splitters had less priority than the view, now the splitters are correctly prioritized (1169963)

  • Editor: GlobalMatrix is now calculated correctly when parenting to a scaled and rotated object. (1089827)

  • Editor: Improved Editor performance when marquee selecting objects in moderate to large Scenes. (1168454)

  • Editor: Improved the error message that appears when Unity tries to load an arbitrary file as though it's a Unity-created serialized file.

  • Editor: It is no longer possible to click the Open button on a VideoClipImporter Preset. (1154998)

  • Editor: It is now possible to localize Packages.

  • Editor: Large serialized assets such as Texture2DArray and Texture3D now appear in the Inspector immediately. (1153174)

  • Editor: Licensing - Opening a new project from inside a project can cause a licensi