Unity 2019.3.0 Alpha 8

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.0a8

  • 2D: First time entering playmode extremely slow when project contains many ScriptableObject assets (1147549)

  • 2D: Resources.Load() crashes on Sprite::GetRenderData() when there is no sprite data (1149030)

  • Android: [AssetBundles] Performance regression when loading Assets from AssetBundles between 64bit and 32bit architectures (1157971)

  • Android: [Mac] Editor crashes while creating build for Android for VM FTP project. (1162157)

  • Android: [Mobile] Bluetooth microphones not listed in Microphone.devices list in iOS and Android (917205)

  • Animation: Absence of root motion when gameobject is loaded from assest bundle and override controller is in use (1165817)

  • Asset Importers: Crash on AssetImportManager::AssetImportManager when opening a project with asset pipeline v2 Cache Server enabled (1165502)

  • Asset Importers: Crash on UnityYAML::Write::SerializeScalar when importing a prefab (1166536)

  • Bugreporter: Bug Reporter doesn't launch when trying to open it from the Editor or crashing the Editor when there are a lot of files (1152212)

  • Bugreporter: Opening/modifying a script in a Code Editor prevents a bug report from being sendable until the Code Editor is closed (1106254)

  • Build Pipeline: Fix for crash at runtime when loading SpriteAtlas Textures built with the Scriptable Build Pipeline (1146568)
    Fixed in 2019.3.0a9.

  • CodeEditors: Editor freezes upon deleting an opened project from explorer (1167235)

  • DX12: Fix for Selecting a lightprobe group game object in Dx12 Mode crashes editor (1158553)
    Fixed in 2019.3.0a9.

  • GI: Fixed optixQueryFunctionTable crash when opening project or lighting tab, or building GI (1159110)
    Fixed in 2019.3.0a9.

  • Graphics - General: Black Screen and Kernel 'KGenLut3D_AcesTonemap' error in the Console with Gles2 (1154305)

  • Graphics - General: Crash on OptimizeMeshJobData::OptimizeMeshJob when calling Mesh.Optimize() (1166419)

  • Graphics - General: Crash when accessing a Mesh via a Mesh Filter in a Coroutine after loading a Prefab from a Bundle (1158763)

  • Graphics - General: [2019.1][Vulkan][DirectX 11] Using Models with Blend Shapes causes the Skinning to happen on the CPU instead of the GPU (1134323)

  • Graphics - General: [Graphics General] Invalid OpenGL Context for rendering exception is thrown continuously on restarting the editor (1166631)

  • Graphics - General: [Profiling] Multiple errors thrown on trying to view shader property matrices in Frame Debugger (1166946)

  • Hub: Two identical HDRP templates are shown in new project creation when selecting 2019.1.8f1 or 2019.1.7f1 version (1164282)

  • IAP: IAP asset store package references missing assemblies (1162778)

  • IAP: [MacOS][IL2CPP][IAP] Build fails on MacOS with scripting backend set to "IL2CPP" (1104495)

  • IL2CPP: NotImplementedException is thrown when use System.IO.Pipes (1159863)

  • IMGUI: Project Settings window shrinks after restarting the editor on changing Graphics APIs (1166653)

  • IMGUI: Save scene pop up does not close after clicking on Don't Save button on changing Graphics API (1166643)

  • IMGUI: IMGUI's EditorGUI.IntSlider causes a StackOverflow and crashes after a few seconds (1162540)

  • IMGUI: The Editor does not load its Layout and throws Errors when a Custom Window was Opened (1166072)

  • Inspector Framework: "ArgumentException: Object at index 0 is null" thrown when entering play mode with two Inspector windows and an attached script (1147234)

  • MacOS: Camera.Render gets called twice per frame (1165224)

  • MacOS: [Metal] Poor performance when moving around undocked Editor windows (1154920)

  • Mobile: [Android] Empty project build fails with java.io.IOException (1161216)

  • Mobile: [Android][Gradle] Asset bundle loading process takes much longer on Gradle build compared to Internal build (952981)

  • Mobile: [Unity Hub][Android][NDK] Integrated NDK version is not compatible with available Unity Hub or Android developer NDK versions (1159144)

  • Mobile: [iOS][UaaL] Empty project with Script Debugging fails to build via Xcode because it's missing symbols during linking (1156704)

  • Physics: Crash on PhysicsScene::ProcessTriggerEnterExits when splitting meshes that also exit a Trigger with OnTriggerExit (1155827)

  • Physics: Crash on block_remove when changing mesh to Plane in Skinned Mesh Renderer while cloth component attached (1162918)

  • Post Processing: Some Clear flags of Cameras are not working when using Post Process Layer and Directly to Camera Target is set to true (1119198)

  • Scene Management: 2019.3 and 2019.1 streams are significantly slower when entering the play mode (1161373)

  • 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)

  • Scene Management: [Improved prefabs] Joint prefab loses all data when its prefab is deleted from the project (1158288)

  • Scene/Game View: Camera Preview in the Scene View window is majorly scaled down when using certain Editor layouts (1166153)

  • Scripting: Crash during script compilation when compiling a script which has SerializeReference attribute and is attached to a GameObject (1167060)

  • Scripting: Handles.Disc function performance is very slow in Scene View (1165684)

  • Scripting: UnityEngine.RectOffset causes GC.Collect() to be called at regular intervals causing noticeable lag spikes when using Bolt asset (1130308)

  • Scripting: [Android][Mono][IL2CPP] "Unable to find libc" error thrown when executing certain SslStream constructor (1022228)

  • Scripting: [Templates] Clamp BlendShapes are set to true by default when creating new projects (1148638)

  • Scripting: [Unity 2018] Editor crash on switching target platform when project contains a dll asset with a define constraint (1164392)

  • Serialization: Freeze or crash on memcpy when importing .asset file (1164292)

  • Shaders: Asset importer crashes when importing a shader and Unity freezes if you try to reimport it (1162577)

  • Shuriken: Billboard Particle System rolls in the Game View with "Allow Roll" disabled when a Camera is rotating around it (1081596)

  • Speedtree Integration: SpeedTree object Creates a ghost folder or completely Freezes the Editor when Imported (1163311)

  • Themes: Animator controller layers cannot be reordered and throw constant NullReferenceExceptions when trying to do so (1154282)

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

  • Themes: Loading time when opening a Project is increased (1161272)

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

  • Windows: Button's hitbox is offset when building standalone project for two screens (1141732)

  • Windows: Fix for exception triggering when closing player/editor (1161538)
    Fixed in 2019.3.0a9.

  • Windows: Windows Standalone builds with IL2CPP scripting backend don't start on Windows 7 (1166764)

  • Windows: [Standalone Build] Player is not running in windowed mode when Resolution Fullscreen Mode is set to Windowed (1165946)

  • XR: Cardboard projects will default to 30fps unless targetFrameRate is set to 60. (1143799)

  • iOS: Apps with UIApplicationExitsOnSuspend in info.plist failing to pass Apple Store validation (1160614)

  • iOS: UnityWebRequest test fails sending large data (1163795)

  • uGUI: Mesh::RecalculateSubmeshBoundsInternal crashes when writing "" In the Text field of Text Mesh component (1158732)

  • uGUI: UI references to public script functions lost on upgrade (1156772)

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

New 2019.3.0a8 Entries since 2019.3.0a7

Features

  • Package Manager: Adding support for adding a package through tarball in the Package Manager window

  • Package Manager: Support Asset Store packges (My Assets) in Package Manager UI

  • UI Elements: Colors for the top/left/right/bottom borders can now be assigned different colors.

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

Backwards Compatibility Breaking Changes

  • Package Manager: Remove create + develop from package manager UI

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

Improvements

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

  • Animation: Added support for Animation Rigging in Timeline.
    This is a new issue, not seen in any released version.

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

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

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

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

  • Editor: Added EditorSceneManager.sceneDirtied and PrefabStage.prefabStageDirtied callbacks, that are called when a non-modified scene/prefab becomes modified by the user.

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

  • 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: 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)

  • iOS: Minimum supported iOS version is now iOS 10

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

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

  • Terrain: Added support for arbitrarily sized Terrain Paint Contexts (no longer limited to 2x2 tiles)

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

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

API Changes

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

  • Asset Import: The CollectImportedDependenciesAttribute was added to allow users to set up dependencies on imported assets to be used from AssetPostprocessors

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

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

  • Graphics: VisualEffect component, VisualEffectAsset and VFXManager have been moved out of experimental

  • Profiler: Add HierarchyFrameDataView.columnStartTime to get start time of profiler samples

Fixes

  • 2D: Edge Sprite Material changed when using a fill texture that is already an edge sprite on spriteshape (1157201)

  • 2D: Open ended Spriteshape renders the fill texture instead of the range sprite (1162134)

  • AI: Fixed several issues causing the NavMeshAgent to get stuck when the NavMesh changes near its long path. (1144525, 1144605, 1156590)

  • Android: Fix crash when using Optimized Frame Pacing with Vulkan

  • Android: Fix setting keystore name from the script (1158036)

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

  • Android: Use relative path for keystore in project location after a second key is added (977673)

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

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

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

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

  • Animation: Fixed prefab import for Animators with dangling references (1154048)

  • Animation: Fixed Undo for "Add Motion" operation in the Blend Tree graph UI. (1134780)

  • Asset Import: The BumpMap fix popup does not cause an infinite editor loop anymore in adb2. (1159483)

  • Build Pipeline: Crash at CompileGpuProgramSnippets when cancelling a build during Shader Variant Compilation (1160092)

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

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

  • Editor: Fix scrollbar mouse click paging (1161189)

  • Editor: Fixed a bug where scene root objects were not properly taken into account for Scene SceneVis state when they had hideflags set (1156127)
    This has already been backported to older releases.

  • 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: Large serialized assets (e.g. Texture2DArray, Texture3D) no longer take a second or two to show up in the inspector (1153174)

  • GI: Deprecating Enlighten and allowing SRPs to not support it (and therefor hide it) in new project. Upgraded projects will still show it.

  • GI: GPU lightmapper: Fix sample count statistics when baking large lightmaps with high sample count.

  • GI: [ReflectionProbes] Minor changes to mesh renderer transform values cause Reflection Probe weights to change (1078579)

  • Graphics: Added method for binding shader properties to RayTracingAccelerationStructure
    This is a new issue, not seen in any released version.

  • Graphics: Fix crash in Material::SetFloat after calling Graphics.Blit() due to missing BlitTexArraySlice shader (1163080)

  • Graphics: Fixed DX11 specific GPU texture memory reporting when using mip streaming to update an existing texture. (1139438)

  • Graphics: Fixed issue with the error thrown while creating PSO on DX12 when using NullGeometry draws (1122343)
    This has already been backported to older releases.

  • Graphics: Improve documentation clarity for CommandBuffer script API

  • Graphics: On platforms that support ray tracing, update RayTracingAccelerationStructure as appropriate on GfxDevice reload, mesh update/deletion, at the start of a render loop, and as part of SaveAndLoadHelper
    This is a new issue, not seen in any released version.

  • IL2CPP: Allow Stopwatch to work correctly across system time changes on iOS and macOS. (1152381)

  • IL2CPP: Correct code generation for multidimensional arrays used as fields of structs. (1155344)
    This has already been backported to older releases.

  • IL2CPP: Correct loading of static field initializer data when the field is of type ReadOnlySpan. (1146277)
    This has already been backported to older releases.

  • IL2CPP: Correct the behavior of Bind a Unix socket on Posix platforms. (1150549)
    This has already been backported to older releases.

  • IL2CPP: Fixing an issue in the IL2CPP runtime that can cause intermittent crashes when dealing with certain kinds of generic method metadata. (1145468)
    This has already been backported to older releases.

  • IL2CPP: Prevent a hang during async write operations on Windows platforms. (1156384)
    This has already been backported to older releases.

  • IL2CPP: Prevent a memory leak when interfaces are set up for doubly nested arrays. (1151219)
    This has already been backported to older releases.

  • iOS: Fix keyboard type not always changing when switching controls. (1154527)

  • Linux: UnityWebRequest failing https connection if system certificate store contains unreadable certificates (1151555)

  • OSX: Fixed scrolling sensitivity being too high in game (1162791)
    This has already been backported to older releases.

  • Particles: Fix incorrect scaling of the Shape Module Transform Gizmo. (1129908)

  • Particles: Fixed a crash when reducing Max Particles below the current particle count, while a system is playing. (1155477)
    This has already been backported to older releases.

  • Particles: Fixed batching of particle sprites. (1148610)
    This has already been backported to older releases.

  • Particles: Fixed error messages when trying to use Prewarm with a Particle System whose particles have infinite lifetimes. (1157277)

  • Particles: Fixed graphical corruption when rendering particle trails to multiple views (eg reflections and main camera) (1117520)
    This has already been backported to older releases.

  • Particles: Fixed Particle System bounding box location when using Custom Simulation Space, or spawning particles from a MeshRenderer or SkinnedMeshRenderer. (1057306)

  • Particles: Fixed ParticleSystem bounds calculations when using stretched particles and a negative velocity scale. (1160531)

  • Particles: Fixed ParticleSystem prewarm not locating WindZones, ForceFields and Colliders during Awake. (1122824)

  • Particles: Fixed scaling of velocity-facing particles. (1149730)
    This has already been backported to older releases.

  • Particles: Fixing issues when pressing 'f' to focus on the selected Particle System, when that system contains no particles. (1139865)

  • Particles: Improved sorting algorithm to ensure it is stable when the camera rotates. (1154497)
    This has already been backported to older releases.

  • Physics: Fix crash in Cloth::Raycast that happened when no mesh was assigned (1154566)

  • Physics: Fix crash that happened during simulation right after destroying a hierarchy of GOs that had nested Rigidbody components attached (1122684)

  • Physics: Fix crash that happened when an inactive sleeping child body was re-parented and activated (1123490)

  • Playables: Fixed ScriptPlayable traversals to call ProcessFrame in PostOrder instead of PreOrder. (1094035)

  • Prefabs: Fixed an issue which could cause a crash after loading a scene with modified prefabs. (1135495)
    This has already been backported to older releases.

  • Profiler: "Requested frame does not exists" exception thrown on clearing data while looking at UI Module (1160622)

  • Services: Improved support for Apple arm64e devices in Cloud Diagnostics (1155437)

  • Shaders: Editor crash on the Shader inspector keywords (...) button (1156321)

  • Shaders: Improved generation of GLSL Tessellation shaders in more situations. (1134172)

  • Terrain: Disabled terrain editing if the Editor is running in GLES2. (1138137)

  • Terrain: Fixed an issue that caused alpha map textures to be lost during saving of newly created TerrainData. (1158454)

  • Terrain: Fixed Terrain Layer selection in Paint Texture Tool when the terrain layer assets are deleted. (1113312)

  • Terrain: Fixed Terrain slider control handles to not disappear when set to minimum value (1151094, 1151115)

  • Terrain: Fixed Terrain tree painting tool to display a circular brush preview (1104293)

  • Terrain: Setup default shortcut keys for Terrain tool selection shortcuts (1155153)

  • Timeline: Fixed rotation properties not included in animation mode snapshot when previewing with Timeline.

  • UI Elements: Fix generateVisualContent with textures doesn't show textures on screen (1162371)

  • UI Elements: Pointer events

  • UnityLinker: Fix UnityTls being incorrectly stripped with Medium and High Managed Stripping Levels.

  • Universal Windows Platform: Fixed System.IO APIs not working on files outside of application and AppData directories on IL2CPP scripting backend. (1063768)
    This has already been backported to older releases.

  • Version Control: Added editor setting to disable VCS icon overlays (1155175)

  • Version Control: In Version Control window, allow dragging files between changesets if they are in different projects but the same workspace (543596)

  • Video: Fixed VideoPlayer setting its time to 0 while seeking (1154368)
    This has already been backported to older releases.

  • XR: Added APIs around TrackingOrigins and Boundary points to UnityEngine.XR.XRInputSubsystem.

  • XR: Fixed an issued with Android app bundles which could cause XR Subsystems to fail to register. This would cause, for example, pose tracking to fail in ARFoundation. (1162654)
    This has already been backported to older releases.

  • XR: Fixes for multiple holographic cameras, including Mixed Reality Capture (1155138)

  • XR: Removed UnityEngine.Experimental.XR.XRExperienceSubsystem. APIs have been moved to UnityEngine.XR.XRInputSubsystem

Preview of Final 2019.3.0a8 Release Notes

System Requirements Changes

For running Unity games

Features

  • Android: Unity as a Library enables to integrate unity in other native Android applications

  • Editor: Domain reload and / or scene reload could be disabled when entering play mode to allow faster iteration times in the editor.

  • Editor: Users can set custom ui scaling across the editor on windows

  • GI: Added Experimental API for modular lighting bake.

  • 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 Graphics.DrawMeshInstancedProcedural, which is similar to DraMewshInstancedIndirect, but doesn't require compute support (useful for Procedural Instancing)

  • 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 to integrate unity in other native iOS applications

  • 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.

  • Multiplayer: Added UNET encryption support

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

  • Package Manager: Adding support for adding a package through tarball in the Package Manager window

  • Package Manager: Enable UI support for git package installation in the package manager window

  • Package Manager: Package authoring:

    • Create a package from Package Manager UI.
    • Develop a package from Package Manager UI.
    • Remove a package in development from Package Manager UI.
    • Open Package Manager UI on selected package in Project Browser.
  • Package Manager: Support Asset Store packges (My Assets) in Package Manager UI

  • 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.

  • UI Elements: Colors for the top/left/right/bottom borders can now be assigned different colors.

  • UI Elements: New floating tool windows available for GraphView-based products (note that each individual product is responsible for enabling them)

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

Backwards Compatibility Breaking Changes

  • 2D: Rename 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

  • Asset Import: Added a warning when multiple sub-assets are imported with the same name/type. This often happen in the ModelImporter when multiple meshes or material have the same name in the .fbx file. Their resulting fileID (and thus references to them) may break/change if a new sub-asset witht he same name is found before the existing one after a re-import.

  • 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: In the Scene View camera settings window, removed the slider to set easing duration.

  • Graphics: Adding explicit depth resolve to RenderPass Metal

  • Package Manager: Remove create + develop from package manager UI

  • 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

  • Android: Android Gradle plugin version updated up to 3.4

  • Android: Gradle version updated up to 5.1.1

Improvements

  • 2D: Add CreateTileFromPaletteAttribute to allow users to specify how and what Tiles are created when dragging and dropping assets to the Tile Palette Window

  • 2D: Add multi-texture support to SpriteShapeRenderer

  • 2D: Add multi-texture support to TilemapRenderer

  • 2D: Add toggle to allow changing of Z Position with GridBrush

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

  • 2D: Allow users to convert Prefabs to Tile Palettes by dragging and dropping a valid Prefab onto the Tile Palette Window

  • 2D: Expose GridPaintingState APIs to allow users to programatically change Tile Palette Painting states

  • 2D: Store last used Brush when entering or exiting PlayMode

  • Android: Allow custom UnityPlayerActivity implementations modify the command line arguments passed to Unity during startup.

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

  • Android: Make use of cpu_capacity for big.LITTLE core detection on devices where it's supported by the Linux kernel

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

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

  • 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. This makes these 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 EditorSceneManager.sceneDirtied and PrefabStage.prefabStageDirtied callbacks, that are called when a non-modified scene/prefab becomes modified by the user.

  • Editor: Added Enable Code Coverage option in General Preferences. Added a popup and a console warning that notify users of performance being lower when Coverage is enabled. Displaying [CODE COVERAGE] to the Window Title when Coverage is enabled.

  • Editor: Added SceneVis ShowAll shortcut

  • Editor: Added shortcut entries for SceneView camera modes

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

  • 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).

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

  • GI: Added extra verification for Experimental.Lightmapping.SetCustomBakeInputs API to make custom bake easier to use.

  • GI: Don't show the ReceiveGI.LightProbes objects in the "Lightmap indices" visualisation view.

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

  • GI: Increased editor responsiveness during baking with GPU lightmapper with AMD GPUs.

  • GI: Performance improvement: Only denoise AO buffer if AO is enabled.

  • GI: Reduce overhead in compositing when baking lightmaps with GPU lightmapper.

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

  • Graphics: EncodeToPNG() now support 16 bit grayscale format

  • 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: 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: Optimized away a redundant memory copy in Mesh.GetIndices implementation.

  • 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: 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: Metal: Warn user if he does render MeshTopology.Points with shader that do not have PSIZE output

  • iOS: Minimum supported iOS version is now iOS 10

  • Kernel: Introducing new serialization attribute: SerializeReference

  • OSX: [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 upm.log during the resolve operation.

  • Package Manager: Adds package manager UI menu extension

  • 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: Deprecate Package Manager UI as package

  • Package Manager: Reduce Editor LastLayout file size

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

  • Profiler: Added Profiler Preferences with ability to tweak visible frame count in Profiler Window.

  • Profiler: Added thread dropdown to Hierachy View of Profiler Window

  • Profiler: Improved information about shader compilation in the profiler.

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

  • 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: 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 (no longer limited to 2x2 tiles)

  • 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 Image class and 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: Add 'GazeInput' Capabilitie to UWP Publisher Settings within the Editor (1162038)

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

  • 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 GPU Profiler support for Oculus Quest and Oculus Go.

  • XR: Updated Oculus to use the 1.36 plugin.

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

API Changes

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

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

  • Asset Import: ModelImporter.avatarSetup can be used to change the way avatars are created, based on the AnimationType, during a ModelImport.

  • Asset Import: The CollectImportedDependenciesAttribute was added to allow users to set up dependencies on imported assets to be used from AssetPostprocessors

  • 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: Add EditorTool.OnDrawHandles method for drawing handles on inactive custom editor tools.

  • 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 index support to Color32 struct.

  • Graphics: Initial Event Support for VisualEffect

  • Graphics: Removed TextureCompressionQuality enum defined in UnityEngine namespace but never used by any API (1108722)

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

  • Graphics: VisualEffect component, VisualEffectAsset and VFXManager have been moved out of experimental

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

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

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

  • Profiler: Add HierarchyFrameDataView.columnStartTime to get start time of profiler samples

  • Profiler: Added TakeSnapshot overload with screenshot handling to 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

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

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

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

  • Video: Removed MovieTexture class and API.

Fixes

  • 2D: "NullReferenceException" on entering in play mode when a sprite is packed in the "Sprite Atlas" (1144386)

  • 2D: Edge Sprite Material changed when using a fill texture that is already an edge sprite on spriteshape (1157201)

  • 2D: Fix clipping of Tilemap selection option for Tilemap Focus Dropdown (1158947)

  • 2D: Fix sorting issue when Particle System which has a sorting fudge under a Sorting Group is not sorting correctly. Renderers such as this should be sorted according to Sorting Group order.

  • 2D: Fixed crash when setting SpriteRenderer to tiling draw mode when textureless Sprite is assigned (1156756)

  • 2D: Open ended Spriteshape renders the fill texture instead of the range sprite (1162134)

  • 2D: Recomposite Collider2Ds with CompositeCollider2D when offset and vertex distance changes while in outline generation mode

  • 2D: The rendering for edges on Spriteshape does not happen sometimes when building on PS4 (1156882)

  • AI: Fixed several issues causing the NavMeshAgent to get stuck when the NavMesh changes near its long path. (1144525, 1144605, 1156590)

  • Android: Fix crash when using Optimized Frame Pacing with Vulkan

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

  • Android: Fix procedural skybox black ground on Mali-400 GPU. (1127106)

  • Android: Fix setting keystore name from the script (1158036)

  • Android: Fix threading configuration when Multithreaded Rendering and Graphics Jobs are both enabled and Vulkan is used as Graphic API

  • Android: Fix Vulkan opaque renderpass store action when multiple render passes with MSAA are used (1126522)

  • Android: Fix [Android] Built project shows black screen when using ARGB32 RenderTexture with HDR (1063891)

  • Android: Fix [Android] Camera aspect ratio is incorrect after changing the orientation of Android device in a split screen mode (1145325)

  • Android: Fix [Android] UI scales incorrectly when using Constant Physical Size mode on android device (1136224)

  • Android: Fix [GLES2] Artifacts on Meizu MX5 when using Realtime reflection probe (1106542)

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

  • Android: Fixed Android APK signing issues by reverting changes made in 2019.2. (1144308)

  • Android: Fixed Keystore path to work with specific chars space, comma, etc... (1141839)

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

  • Android: Input system package: fix KeyControl.displayName for external keyboard (1093828)

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

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

  • Android: Report keyboard layout to input system package (1093823)

  • Android: Use 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 inform user that linear-to-sRGB conversion is handled for him (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: Fixed a warning when using the object selector in the avatar preview window (1138528)

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

  • 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 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 out of bounds index in mecanim valuearray causing crash (1144501)

  • Animation: Fixed prefab import for Animators with dangling references (1154048)

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

  • Animation: Fixed Undo for "Add Motion" operation in the Blend Tree graph UI. (1134780)

  • 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)

  • Asset Import: Clicking on the Play button in the AudioImporter preview a second time does stop the playing clip.

  • Asset Import: Fixed a crash in the FBX Importer when calculating tangents on a blendshape that has infinite values in vertex positions. (1152354)

  • Asset Import: Fixed an error that woul cause a crash when idling due to dependent hashing error. (1120830)

  • Asset Import: Fixed an issue with the model importer inspector material remapping section where the remapped materials are not properly updated after an item was added. (1115556)

  • Asset Import: Fixed an issue with the Sketchup importer where some scenes generate empty meshes during import. (1155424)

  • Asset Import: Fixed issue where fbx files are not re-imported when a AssetPostprocessor implementing OnPostprocessAnimation has its version updated. (1153110)

  • Asset Import: Meshes with less than 65535 vertices but with an index buffer size of more than 3 * 65535 elements are no longer split when using 16 bit index buffers. (1143742)

  • Asset Import: ModelImporter does not enforce the AnimationType setting on first import anymore. Default Preset can be used for this setting and it can be changed during OnPreprocessAsset or OnPreprocessModel in the AssetPostprocessor callbacks. (1152163)

  • Asset Import: PluginImporter does not change metafile while opening a project anymore. (1145258)

  • Asset Import: Re-compile script while a MonoBehaviour asset is selected does not throw an error anymore. (1157050)

  • Asset Import: The BumpMap fix popup does not cause an infinite editor loop anymore in adb2. (1159483)

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

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

  • Asset Pipeline: Fix for scritable objects not being reloaded after a domain reload (1153117)

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

  • Build Pipeline: Crash at CompileGpuProgramSnippets when cancelling a build during Shader Variant Compilation (1160092)

  • Build Pipeline: Fix race condition crash when loading asset bundles from managed streams (1135251)

  • 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 where user created folders were being deleted on a failed player build. (1132299)

  • Build Pipeline: Fixed an issue with throwing BuildFailedException from a build callback not failing the build. (1097286)

  • Build Pipeline: Fixed an out of memory crash with Scriptable Build Pipeline.

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

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

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

  • Editor: Added error message if project contains .dlls with the same filename as Assembly Definition File assemblies. Which can lead various issues and crashes. (1117125, 1143057)

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

  • Editor: After a player build finishes, scripts are no longer recompiled for the editor. Recompiling of scripts was an unnecessary step that existed due to legacy reasons. By skipping this step, finishing a player build now takes a shorter amount of time. (1115674)

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

  • Editor: Being able to localize packages.

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

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

  • Editor: Enabled Delete, Duplicate, Find, Frame Selected and Copy/Paste options for Game Objects that have "Not-Editable" flag enabled. (460449)

  • Editor: Fix Avatar Mask UI layouting (1154715)

  • Editor: Fix crash when calling Application.Exit() from a static constructor on a type marked [InitializeOnLoad] (1153197)

  • Editor: Fix fail to load editor window leaves an unclosable unmovable window (1146403)

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

  • Editor: Fix issue of drag & drop flickering (907336)

  • Editor: Fix issue with "Unable to resolve reference" errors being emitted for precompiled .dlls on startup, if they reference an .asmdef assembly in Library/ScriptAssemblies and the .asmdef assembly does not exist during startup.

  • Editor: Fix issue with Assembly Definition File inspector not showing if Name field is empty. (1153357)

  • Editor: Fix issue with dead area aroud scene view overlay windows (1147144)

  • Editor: Fix issue with duplicate references error for Assembly Definition File not showing up on startup. (1148651)

  • Editor: fix issue with null reference exceptions while previewing textures during asset import (1135750)

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

  • Editor: Fix logging when files/folders in the Unity project are excluded from the Perforce client workspace. (1143683)

  • Editor: Fix MenuItem shortcuts taking the capitalization of the character into consideration. (1154312)

  • 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 right handed copy/paste shortcuts (1132112)

  • Editor: Fix scrollbar mouse click paging (1161189)

  • Editor: Fix the preview pane in the object selector.

  • 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 small memory leak which would happen any time a context menu is opened. (850599)

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

  • Editor: Fixed an issue where content of the text asset is not displayed in the inspector window (1155781)

  • Editor: Fixed an issue where double clicking on the folders in the project browser in one column layout gives an error. (1151435)

  • Editor: Fixed an issue where the drop down menu freezes when opening a menu-drop down that contains large strings with unicode characters. (1119511)

  • Editor: Fixed extra fields appearing in the Inspectors of some assets. (1123033)

  • Editor: Fixed Free Move Handle being constricted in orthographic mode in SceneView when the Handles.matrix is rotated 90 degrees (1089308)

  • Editor: Fixed issue with GameObjects, with specific HideFlags set, interfering with SceneVis status (1111720)

  • Editor: Fixed potential null reference exception errors that might occur for the editors that implement OnSceneGUI() (1148101)

  • Editor: Fixed text serialization parsing error that would occur when reading some multi-line scalars in block sequences (1153091)

  • Editor: Fixed the missing script issue upon minimize and maximizing the editor application. (1095540)

  • Editor: Fixed to calculate GlobalMatrix correctly when parenting to a scaled and rotated object. (1089827)

  • Editor: Fixed touch issues with the editor on Windows (MouseDown position is more precise and dragging a property value on the edge of the screen no more increases the value exponentially)

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

  • Editor: Fixed Vector4 and Array types not displaying the values in the inspector (1139928)

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

  • Editor: Force Nvidia drivers to turn off vsync on Linux (1109048)

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

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

  • Editor: Large serialized assets (e.g. Texture2DArray, Texture3D) no longer take a second or two to show up in the inspector (1153174)

  • Editor: SceneVis hide shortcut is now 'H', Isolation shortcut is now Shift+'H'

  • Editor: Update Windows Editor splash image

  • Editor: Various alignment and icon issues (1157335)

  • Editor: YAMLMerge tool occasionally exiting without any warning when passing empty files (1141221)

  • GI: Color coding of lights in the shadow mask scene view mode now matches their corresponding shadow mask channel color.

  • GI: Deprecating Enlighten and allowing SRPs to not support it (and therefor hide it) in new project. Upgraded projects will still show it.

  • GI: Don't create Enlighten worker threads in headless mode (1131677)

  • GI: Faster editor shutdown when baking with progressive lightmapper. (1148686)

  • GI: Fix player crashes on Application.Quit() in Debug builds when using realtime GI (1158498)

  • GI: Fixed memory leak after compiling OpenCL kernels when using progressive GPU lightmapper.

  • GI: Fixed memory report for light probes in the GPU lightmapper.

  • GI: Fixes loading of auto generated Lighting data in LoadSceneAsyncInPlayMode. (1156685)

  • GI: GPU lightmapper: Editor is slow and low baking performance when baking certain project with GPU Lightmapper (Added support for 32bits indices) (1110661)

  • GI: GPU lightmapper: Fix incorrect over darkening at primitive intersection in conjonction with dilatation. (1119363)

  • GI: GPU lightmapper: Fix indirect from blue lights appears much less intense when using GPU lightmapper. (1114555)

  • GI: GPU lightmapper: Fix sample count statistics when baking large lightmaps with high sample count.

  • GI: GPU lightmapper: Fix transparency from indirect ray. (1086152)

  • GI: Made error message more helpful when the GI albedo/emissive buffer update fails.

  • GI: Make custom bakes converge on GPU lightmapper, note that the feature is still not implemented.

  • GI: Progressive lightmappers will now skip baking lightmaps and shadow mask if there are no affecting light sources (lights, emissive or environment). (1033410)

  • GI: [ReflectionProbes] Minor changes to mesh renderer transform values cause Reflection Probe weights to change (1078579)

  • Graphics: Add UnityEngine.Experimental.Rendering.RenderingThreadingMode API that returns actual rendering threading mode

  • Graphics: Change default graphics jobs sync point back to AfterScriptUpdate, fixing regression in Legacy Graphics Jobs (1162175)

  • Graphics: Corrected memory regression when loading large textures on Vulkan via threaded texture creation. (1156082)

  • Graphics: Create texture now occurs on a thread in cases when async loading to update an existing texture.

  • Graphics: Editor crashes on GfxDeviceD3D11Base::DrawBuffersBatchMode when selecting imported FBX while HDRP is set as SRP (1153037)

  • Graphics: Ensure deterministic results for ASTC compressed textures with block sizes 10x10 and 12x12

  • Graphics: Fix a regression that can cause increased draw call count when using static batching. (1098752)

  • Graphics: Fix crash in Material::SetFloat after calling Graphics.Blit() due to missing BlitTexArraySlice shader (1163080)

  • Graphics: Fix for crash caused by floating point rouding errors when atlassing very small rectangles (1126862)

  • Graphics: Fix FrameTimingManager when using Vulkan (1152859)

  • Graphics: Fix issue with Android Blit type not being serialized properly (1161705)

  • Graphics: Fix Mesh.GetTriangles with list argument not working with different topology (1141916)

  • Graphics: Fix shadows culling when camera and frustum are almost perpendicular (1150849)

  • Graphics: Fix SRP Batcher graphical artifacts with more accurate float to half conversion (1136206)

  • Graphics: Fixed crash that occured when atlassing BC compressed textures using a padding smaller than the blocksize (1108289)

  • Graphics: Fixed DX11 specific GPU texture memory reporting when using mip streaming to update an existing texture. (1139438)

  • Graphics: Fixed excessive texture mip reduction during texture streaming when texture quality settings applied.

  • Graphics: Fixed ExtractImage to check the presence of source image data. (1115638)

  • Graphics: Fixed Texture streaming when preloading textures (prior to associating with a renderer) to load low mip rather than highest mip. (1154415)

  • Graphics: Fixed upload of compressed texture which sizes are not a multiple of the block size (1146074)

  • Graphics: Improve documentation clarity for CommandBuffer script API

  • Graphics: macOS: Display.RelativeMouseAt behavior improved, document default return value of Vector3.zero on unsupported scenarios and platforms

  • Graphics: Metal: fixed simple clearing of RT not impacting mips when RenderTexture.autoGenerateMips was set to true (1154708)

  • Graphics: Metal: Reduced excessive GPU fencing allowing GPU work to overlap

  • Graphics: tencil Rendering States do not get updated when setting via Shader.SetGlobalInt() (922259)

  • Graphics: Updated documentation for LODGroup (949239)

  • Graphics: [ShaderGraph] Frequently Crashes when API is set to Vulkan (1143811)

  • IL2CPP: Allow Stopwatch to work correctly across system time changes on iOS and macOS. (1152381)

  • IL2CPP: Correct an intermittent crash when a managed exception occurs on a back ground thread while the process is shutting down.

  • IL2CPP: Fixed a performance issue with IL2CPP lumped builds.

  • IL2CPP: Fixes an issue with the debugger agent passing an uncaught message exception to the debugger client even if the exception was actually caught. (1124910)

  • IMGUI: Fixed an issue where text is not added to clipboard when copying the text with special characters. (1152899)

  • Input: Apple Pencil will be correctly recognized on iOS in the new input system on newer iPad devices (1141002)

  • iOS: Fix iOS builds failling on when the system locale is not set to english (1136098)

  • iOS: Fix keyboard type not always changing when switching controls. (1154527)

  • iOS: Fixed "Process symbols" Xcode build step from beeing added on each Append build (1145430)

  • iOS: Fixed an issue where OnEndDrag was not called when using Unity Remote in certain cases. (872909)

  • iOS: Fixed cursor in input field not being synced to actual text entry point (1138258)

  • iOS: Fixed keyboard done/cancel button having fixed size resulting in "bad things" happening with localization (1142416)

  • iOS: Fixed Product Bundle Identifyer to be set in Xcode Packaging Build Setting (1140420)

  • Kernel: field serialized as reference crashes unity when an UnityEngine.Object is stored in it using an interface. (1154723)

  • Kernel: Fixed job index allocation contention which could cause multiple seconds of stalling while using jobs.

  • Kernel: NativeArray no longer allow nesting other types tagged NativeContainer, to prevent hard to diagnose memory corruption bugs

  • Kernel: SerializedObjects targetting a isntance with a missing/broken script could lead to crashes (1152271)

  • Linux: Fixed issue when a locked cursor miscalculates the mouse move delta when the game view is too close to the edge of a monitor. (1134503)

  • Linux: Fixed not being able to set any resolution on the Linux player when the requested resolution matched either the width or height of the native desktop resolution. (1105102)

  • Linux: Input.mouseScrollDelta returns reversed values in Linux player (1149657)

  • Linux: Linux services window now responds to dragging properly. (1115130)

  • Linux: UnityWebRequest failing https connection if system certificate store contains unreadable certificates (1151555)

  • Multiplayer: Fix for Unity crash when calling NetworkTransport.Send with wrong connectionId (1128967)

  • OSX: Fix MultiDisplay keyboard/mouse input to work on standalone player build

  • OSX: Fix retina resolution support for secondary displays when using MultiDisplay

  • OSX: Fixed built game icon may appear distorted (1152484)

  • OSX: [Metal] Fixed excessive fencing causing all GPU workload to be serialized

  • Package Manager: Fixed a regression in the package name validation which incorrectly allowed 231 characters instead of 214 as well as invalid characters

  • Package Manager: Fixed an issue where a partial copy of a package could be created in the global cache if the tarball extraction process was interrupted.

  • Package Manager: Fixed an issue where packages would not get automatically resolved after repairing the package.json file of a file: dependency.

  • Package Manager: Fixed Git package submodules not being synchronized when a revision was set in the Git package URL. (1146083)

  • Package Manager: Fixed issues where a package could be partially copied, or could contain read-only folders if the copy operation from the global cache to the project cache was interrupted.

  • Package Manager: Fixed Obsolete properties show up in the public docs (1135114)

  • Particles: Apply fade and soft particle properties to the Emissive color of the Standard Particle Shaders.

  • Particles: Fix incorrect scaling of the Shape Module Transform Gizmo. (1129908)

  • Particles: Fixed error messages when trying to use Prewarm with a Particle System whose particles have infinite lifetimes. (1157277)

  • Particles: Fixed Particle System bounding box location when using Custom Simulation Space, or spawning particles from a MeshRenderer or SkinnedMeshRenderer. (1057306)

  • Particles: Fixed ParticleSystem bounds calculations when using stretched particles and a negative velocity scale. (1160531)

  • Particles: Fixed ParticleSystem prewarm not locating WindZones, ForceFields and Colliders during Awake. (1122824)

  • Particles: Fixed transparency on particles when using ETC1 with split alpha (1144935)

  • Particles: Fixing issues when pressing 'f' to focus on the selected Particle System, when that system contains no particles. (1139865)

  • Physics: 2D Capsule overlap/cast queries where the capsule is in the horizontal orientation now produce correct results. (1105944)

  • Physics: Child Collider2D in a different Z position now renders correctly when displayed outside of "2D" view mode. (1061344)

  • Physics: Editing a Collider2D now stays in edit mode when making any collider change. (1090438)

  • Physics: Fix crash in Cloth::Raycast that happened when no mesh was assigned (1154566)

  • Physics: Fix crash that happened during simulation right after destroying a hierarchy of GOs that had nested Rigidbody components attached (1122684)

  • Physics: Fix crash that happened when an inactive sleeping child body was re-parented and activated (1123490)

  • Physics: PolygonCollider2D used by CompositeCollider2D now shows outline whilst editing. (926739)

  • Physics: Removed the hidden MeshCollider component that was added to all the Cloth game objects for the brush placement (1101598)

  • Physics: Rigidbody2D interpolation set during runtime now correctly interpolates. (1135129)

  • Physics: Selecting "Reset" on an EdgeCollider2D or PolygonCollider2D component whilst editing them now correctly updates the editing gizmo. (1154593)

  • Physics: The implicitly created static ground-body is now not shown in the static body count in the profiler 2D physics area. (1143465)

  • Playables: Fixed ScriptPlayable traversals to call ProcessFrame in PostOrder instead of PreOrder. (1094035)

  • Playables: Playables now display an error when trying to bind the same playable to multiple outputs (1135116)

  • Player: Fix a crash on Standalone Player when assets with Editor only serialized properties. (1144591)

  • Player: Mac: fix some cases where even if the old input backend was turned off, we would still process input for it (1147574)

  • Player: Reduced SerializedFile memory usage (939830)

  • Prefabs: Fix reverting object override not working on Prefab instance inside Prefab Asset and throwing errors. (1146441)

  • Prefabs: Fixed modifying and deleting prefab asset in Prefab Mode with a Light Probe Group continuesly showed an error dialog.

  • Prefabs: Override indicator didn't show when the Renderer Module was enabled or disabled in the Particle System (1053096)

  • Prefabs: ParticleSystemRenderer appeared when the ParticleSystem component was removed from the prefab instance (1151391)

  • Prefabs: Prevent removing or altering components on immutable Prefab Assets via component context menu. (1129842)

  • Profiler: "Requested frame does not exists" exception thrown on clearing data while looking at UI Module (1160622)

  • Profiler: Fixed CustomSampler.BeginWithObject which was failing on some platforms (1160669)

  • Profiler: Fixed errors thrown when switching between ADB and WiFi profiling. (1050359)

  • Profiler: Fixed non matching Profiler.EndSample errors printed in console when closing player with connected profilier (1150065)

  • Profiler: Fixed release profiler markers usage with Profiling.Recorder API (1154041)

  • SceneManager: Only do validation when dropping when using sub-scenes (not on every drag event)

  • Scripting: Fix issue with "Coroutine continue failure" being emitted in some cases when calling StopAllCoroutines() on a AsyncOperation. (1153119)

  • Scripting: Fix issue with GameObject.TryGetComponent allocating in some cases when the component does not exist. (987148)

  • Scripting: Fix serializedProperty.objectReferenceInstanceIDValue returns 0 for missing asset references (1151910)

  • Scripting: Fixed TouchScreenKeyboard API so that it behaves sensibly on platforms that don't have onscreen keyboards.

  • Scripting: Handle managed exceptions triggered from Burst jobs. (1152060)

  • Services: Improved support for Apple arm64e devices in Cloud Diagnostics (1155437)

  • Shaders: Editor crash on the Shader inspector keywords (...) button (1156321)

  • Shaders: Improved generation of GLSL Tessellation shaders in more situations. (1134172)

  • Terrain: Added button for user to enable any disabled Terrain inspectors. (1154683)

  • Terrain: Disabled terrain editing if the Editor is running in GLES2. (1138137)

  • Terrain: Fix texture on a Terrain is painted in a square shape which only has Textured border when Graphics API for Windows is set to Vulkan (1138011)

  • Terrain: Fixed -Terrain Need to remove .5 clamp from Stamp Height shader pass (1137135)

  • Terrain: Fixed an issue that caused alpha map textures to be lost during saving of newly created TerrainData. (1158454)

  • Terrain: Fixed an issue where changing terrain resolution creates seams along the borders of the tiles.

  • Terrain: Fixed Terrain Layer selection in Paint Texture Tool when the terrain layer assets are deleted. (1113312)

  • Terrain: Fixed Terrain slider control handles to not disappear when set to minimum value (1151094, 1151115)

  • Terrain: Fixed Terrain tree painting tool to display a circular brush preview (1104293)

  • Terrain: Setup default shortcut keys for Terrain tool selection shortcuts (1155153)

  • Terrain: Terrain holes support added

  • Terrain: Terrain now fixes up splatmap resolutions if they are out of sync between the TerrainData and the embedded Texture (1137057)

  • Timeline: Fixed Cogwheel icon is blurred at 150% or more for Timeline Window (1154623)

  • Timeline: Fixed Override Tracks Menus not properly working with multi-selection (1124353)

  • Timeline: Fixed rotation properties not included in animation mode snapshot when previewing with Timeline.

  • Timeline: Fixed wrong context menu appearing when right clicking a marker in the marker track (1133592)

  • UI: Adding uv2 and uv3 copying from the UIVertex AddVert overloaded API

  • UI: Fix issue where deactivating ToggleGroups loses the correct selection on re-activation. (1146883)

  • UI: Fix performance issues with animation by not dirtying the layout if a animation updates the items.

  • UI: Fixing issue where rich text tags would get verticies generated causing very large vertex buffers.

  • UI: removing the ref requirement from the AllSelectablesNoAlloc

  • UI: uGUI Dropdown when selected now uses the raycasters of the parent canvas if available. (1152181)

  • UI: Update SetChildAlongAxis to have matching SetChildAlongAxisWithScale that takes a scale as default values will cause confusion in which function needs to be used

  • UI Elements: Add a Breadcrumb like element to UIElements Toolbars

  • UI Elements: Allow setting ToolbarSpacer and ToolbarMenu variants through styling rather than code only

  • UI Elements: Border radiuses are now clamped independently in their x and y axes.

  • UI Elements: class, content-container and style are now part of the UIElements schema (1142631)

  • UI Elements: Event callbacks on composite elements do not have to be registered on the internal elements

  • UI Elements: Fix contextmenu positioning in UIE Debugger (OSX/Cocoa) (1143412)

  • UI Elements: Fix generateVisualContent with textures doesn't show textures on screen (1162371)

  • UI Elements: Fix issue with UXML template instances not resolving names correctly. (1159024)

  • UI Elements: Fix ObjectFields not fetching components according to their type (1131114)

  • UI Elements: Fix styling problems with Toolbar Searchfield (1117293)

  • UI Elements: Fixed potential instability or non-determinism caused by loading a resource from a static InitializeOnLoad constructor.

  • UI Elements: Fixed stale property field foldout title when using bindings. (1142565)

  • UI Elements: Introduce support for proper references between UXML files as well UXML and USS files.

  • UI Elements: It is now possible to create UXML and USS assets in the Editor (Assets/Create/UIElements menu) (1141318)

  • UI Elements: Panel.contextualMenuManager is now public

  • UI Elements: Pointer events

  • UI Elements: Shift tab in multiline text field now focuses previous control (1140811)

  • UI Elements: Textfield padding is now handled correctly (1145272)

  • UI Elements: The Foldout element now has "text" and "value" UXML attributes. Values are persistent. (1119589)

  • UnityLinker: Fix UnityTls being incorrectly stripped with Medium and High Managed Stripping Levels.

  • Universal Windows Platform: Fixes InputField not displaying active IME composition updates (1158262)

  • Universal Windows Platform: Fixes InputField not selecting text when it receives focus (1157041)

  • Version Control: Added editor setting to disable VCS icon overlays (1155175)

  • Version Control: Editor setting for VCS mode defaults to "Visible Meta Files" now, including when doing Reset on the settings

  • Version Control: Fixed 'file not on client' warning when checking out an empty folder (588429)

  • Version Control: Fixed Binary file type not set to Perforce when a previously text-only asset gets a binary-only object into it (1141846)

  • Version Control: Fixed bug that would make text assets with binary sub-assets have an incorrect file type flag sent to Version Control plugin (i.e. text instead of binary). (851278)

  • Version Control: Fixed Provider methods not updating Editor after changes to assets are made (1030962)

  • Version Control: Fixed regression that prevented VCS Provider tasks to finish while editor is in play mode (1140954)

  • Version Control: Fixed Submit not working if files outside of project folder are checked out (1139507)

  • Version Control: Fixed version control window selection highlight being of wrong color in Linear color space. (956944)

  • Version Control: In Version Control window, allow dragging files between changesets if they are in different projects but the same workspace (543596)

  • Version Control: Inspector VCS status bar no longer displays two rows when asset and .meta state is different; instead the label & tooltip reflects that.

  • Version Control: Inspector VCS status bar properly displays "disconnected" state now

  • Version Control: Project settings editor no longer displays two VCS status bars

  • Version Control: ProjectSettings and QualitySettings mark themselves as "modified" much less often, when setter APIs with identical values as before are called on them. (1151097)

  • Version Control: Reduced the amount of unnecessary logout commands that Perforce plugin does (705725)

  • Video: Crash on WindowsVideoMedia::CopyToRGBA when importing video file (Windows 7) (1154547)

  • Video: Fix camera culling mask for VideoPlayer (1146620)

  • Video: Fix Camera Near Plane in 2D rendering for VideoPlayer (1135033)

  • WebGL: Fixed an issue where WebGL build would fail if locationPathName contains a trailing slash. (1150979)

  • WebGL: Fixed an issue with stuck keys when canvas loses focus in WebGL (1129894)

  • WebGL: Fixed audio playback issues with multithreaded builds (1109255)

  • WebGL: Fixed IMGUI events not working when input processing is set to "Input System Package" only.

  • WebGL: Fixed mouse position and delta coordinates in the new input system being inverted

  • WebGL: Fixed networking issues with multithreaded builds (1119982)

  • Windows: Fix Touch.Radius always returning 0 on Windows Editor and Standalone Player (1119934)

  • Windows: Support reading files opened by other application with FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE share mode flags (1037669)

  • XR: Added APIs around TrackingOrigins and Boundary points to UnityEngine.XR.XRInputSubsystem.

  • XR: Fix for Vulkan standalone player with single-pass instancing showing black screen in HMD (1130342)

  • XR: Fix jitter when using multipass rendering on Lumin (1160523)

  • XR: Fixes for multiple holographic cameras, including Mixed Reality Capture (1155138)

  • XR: Removed UnityEngine.Experimental.XR.XRExperienceSubsystem. APIs have been moved to UnityEngine.XR.XRInputSubsystem

  • XR: XR.InputDevice.Characteristics is a new series of flags describing how an XR device works, and what kind of features it can have. As a result XR.InputDevice.Role is now obsolete.

  • XR: XR.InputDevice.OnConfigChanged now let's you know if a an InputDevice has changed it's characteristics at without disconnecting.

  • XR: XR.InputDevices.GetDevicesByCharacteristics now let's you filter devices by characteristics. As a result, XR.InputDevices.GetDevicesByDeviceRole is now obsolete.

System Requirements

For development

OS: Windows 7 SP1+, 8, 10, 64-bit versions only; macOS 10.12+. (Server versions of Windows & OS X are not tested.)

CPU: SSE2 instruction set support.

GPU: Graphics card with DX10 (shader model 4.0) capabilities.

The rest mostly depends on the complexity of your projects.

Additional platform development requirements:
  • iOS: Mac computer running minimum macOS 10.12.6 and Xcode 9.0 or higher.

  • Android: Android SDK and Java Development Kit (JDK); IL2CPP scripting backend requires Android NDK.

  • Universal Windows Platform: Windows 10 (64-bit), Visual Studio 2015 with C++ Tools component or later and Windows 10 SDK

For running Unity games

Generally content developed with Unity can run pretty much everywhere. How well it runs is dependent on the complexity of your project. More detailed requirements:

  • Desktop:

    • OS: Windows 7 SP1+, macOS 10.12+, Ubuntu 16.04+
    • Graphics card with DX10 (shader model 4.0) capabilities.
    • CPU: SSE2 instruction set support.
  • iOS player requires iOS 10.0 or higher.

  • Android: OS 4.4 or later; ARMv7 CPU with NEON support; OpenGL ES 2.0 or later.

  • WebGL: Any recent desktop version of Firefox, Chrome, Edge or Safari.

  • Universal Windows Platform: Windows 10 and a graphics card with DX10 (shader model 4.0) capabilities

  • Exported Android Gradle projects require Android Studio 3.4 and later to build

Changeset:
8ea4afdbfa47

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