Unity 2019.1

Additional downloads

Select the runtime platforms of your choice from the list below (the desktop runtime is included as standard) or, to install the full complement of runtime platforms, use the download assistant installer above.

Editor: Added a new Scene view Camera settings menu to control field of view (FOV), Camera speed, and Camera easing while moving and zooming. In Flythrough mode, the mouse scroll wheel adjusts the Camera speed.

Editor: Added a search field to the Console for filtering output by keyword.

Editor: Added checkboxes to the Gizmos menu for selecting/deselecting all gizmos in a given section (Built-in Components, Scripts, and so on).

Editor: Added new EditorTools API for creating custom tools that behave like native tools. The Available Custom Editor Tools button in the Scene view toolbar opens a custom tools menu. The Component Editor Tools panel in the Scene view shows available custom tools for the current selection.

Editor: Added Scene visibility controls to the Hierarchy window for controlling the visibility of GameObjects in the Scene view. Users can toggle visibility for individual GameObjects, or GameObjects and their children. A global visibility toggle hides/shows everything in the scene.

Editor: Added support for referencing Assembly Definitions with GUIDs instead of assembly names. Users can enable this setting via the Use GUIDs property in the Assembly Definition Inspector. This is now the default setting for new Assembly Definition files.

Editor: Made editor on-demand shader compilation asynchronous, not blocking the editor while compiling the shader on the first time usage. Rendering happens with a replacement shader until the actual shader variant is available. To enable or disable this feature, go to Project Settings > Editor > Asynchronous Shader Compilation.

Editor: Made links clickable in the Console stack trace log. Clicking a link opens the source code at the line for any function calls listed in the stack.

Editor: Rewriting C# project files (.csproj) to disk now logs messages prefixed with [C# Project] to Editor.log. This makes it easier to determine why projects get reloaded in C# IDE's.

GI: Added support for the NVIDIA OptiX AI-Accelerated Denoiser. The Optix AI-Accelerated Denoiser is a deep learning based denoiser trained on a library of path-traced images. It yields a substantial improvement over existing filter options, especially on low sample counts, and it is resilient to leaking. It is currently only available on Windows and only runs on compatible NVIDIA GPUs.

iOS: Enabled rendering over the native UI and added support to preserve framebuffer alpha for iOS and tvOS

Mobile: Added wide Color Gamut support for Vulkan and OpenGLES

Package Manager: Added Package Manifest Inspector:

Particles: Added experimental support for using the C# Job System to manipulate particle data.

Physics: Added a seperate gravity setting for cloth simulation.

Physics: Added methods to determine the closest point to a Collider2D. Added Physics2D.ClosestPoint, Rigidbody2D.ClosestPoint and Collider2D.ClosestPoint.

Profiler: Added UnityEditor.Experimental.Networking.PlayerConnection.EditorGUILayout.AttachToPlayerDropdown to public API to offer a one-stop solution to display and change the player that the Editor is attached to.

Editor: Merged the Shortcut Profile drop-down and the Shortcut Profile options cog into a single dropdown.

Editor: Removed support for compiling UnityScript and Boo scripts.

Editor: Unity no longer tries to attach to a console in the Editor when using batch mode on Windows. Instead, it redirects to stdout. Unity only provides logging if you launch the Editor in such a way that it has a valid stdout handle. As a result, Unity no longer tramples your command window output in batchmode.

Editor: Updated Editor so that Shortcut Profiles can no longer start or end with spaces. Also disallowed some special characters.
(1103117)

Editor: Usage of DescriptionAttribute to change the display name of enum values in the inspector has been removed.
(1115381, 1130991)

GI: Moved tetrahedralization code to the player.

GI: Reduced the frequency with which Unity issues LightmapSettings warnings.

GI: Stitching and probe deringing are now turned on by default.

Graphics: Added override for LightmapEmissionFlagsProperty to allow the display of emission GI options without checking for an emissision color property (_EmissionColor).

Graphics: Attempting to use recursive rendering in SRP now yields an error

Graphics: CommandBuffer.IssuePluginCustomBlit now passes the depth UnityRenderBuffer to the native plugin if 'dest' is a depth texture.

Graphics: Disabled support for rendering projectors in Scriptable Render Pipelines.

Graphics: Dynamic batching checkbox is now hidden if a Scriptable Render Pipeline is active.

Animation: Unity now adds TransformStreamHandle bound to the Transform dynamically at run time. This improves support for animation jobs.

Animation: Upgraded the animation window preview/playback engine to use the Playable API.

Asset Import: Added support for cameras in Sketchup Importer.

Asset Import: Extended the Optimize Mesh option on Model Asset import settings, to allow you to independently control optimization of Vertex Order and Polygon Order, rather than using the same flag for both. NOTE: Performance improvements to the underlying Mesh optimization code might cause Unity to generate vertices in a different order than in previous Unity versions. If you rely on vertex ordering in the optimized Mesh data (such as for vertex painting), be aware that you may need to re-generate this data.

Asset Import: Improved performance of DXT1/BC1 and DXT5/BC3 Texture compression This does not affect compression quality, but it does probably produce subtly different compression results.

Asset Pipeline: Scriptable objects that are loaded before a refresh/import, will after a refresh/import be reloaded, if the underlying asset had been modified before the refresh/import. This means that after the refresh/import scriptables objects will have the modified values from modified assets. Before this change, the scriptable object would get "null" value (when using operator==) after the refresh/import.

Compute: * Added new functionality to allow Unity to use more of the scripting CommandBuffer utility functions with command buffers executed on async compute (such as getting temporary render targets).

Added the concept of execution flags to CommandBuffer to describe how they should execute and allow for better error handling when those command buffers are built in script. This allows for generating exceptions when adding commands not valid for async compute.

Added in-Editor detection for potential GPU deadlock cases where you creates a GPU fence in one command buffer but then never execute that command buffer.

Editor: Added a confirmation prompt when you delete a Shortcut Profile through the Shortcut Manager.

Editor: Added a keyboard shortcut for the submit button on the changeset submission window, and for some commonly used VCS operations.
(1069130)

DrawProceduralNow replaces the existing API, because it submits draw calls immediately. The new DrawProcedural API submits calls to color, shadows, reflections etc. This now matches the DrawMesh/DrawMeshNow API.

Added overloads of DrawProcedural that take an Index Buffer

Graphics: Unity now supports Texture Mipmap streaming in Edit Mode when Texture Streaming is enabled in the Editor Settings.

iOS: Added support for the iPhone XS/XS Max (DPI and device detection)

iOS: Refactored iOS device generation parsing

Mobile: Added support for RGBM and native HDR lightmaps

OSX: Made V-sync handling in macOS standalone players more stable.

Package Manager: Editor.log now logs project load time.

Package Manager: Added enablePackageManagerTraces command argument functionality, so you can use it to increase the logging level of the UPM process (and increase the verbosity of the upm.log file).

Package Manager: Introducing scoped registry feature. This empower users to host their own package in a local private registry. This is experimental. The package manager UI was not updated for this feature.

Package Manager: Released Package Manager UI v2.1.0-preview-1:

Support maximize/minimize

You can now save the PackageManager UI as a maximized window in your Editor layout

Keep track of selected built-in package

Keep track of last selected filter

Fixed UI layout

Package Manager: Removed reference to "package" or "package manager" in the extension manager logs to avoid confusion with the new Package Manager system.

UI: Removing option for spritePacking tag in TextureImporter (sprites) when not using the legacy packing mode.

Universal Windows Platform: Added support for building player with Visual Studio 2019.

Universal Windows Platform: Added ExecutableOnly build type, which allows you to build without creating a Visual Studio project. This enables quicker iteration when using Build & Run. See documentation for UnityEditor.WSAUWPBuildType for more information

Video: Improved the platform strings documentation for the Set, Get, and ClearTargetSettings methods, in the VideoClipImporter class.

Web: Added support to write to file in append mode in DownloadHandlerFile.

Web: UnityWebRequest now reports Content-Length to DownloadHandlerScript as 64-bit. 32-bit method is now deprecated.
(1092447)

API Changes

2D: Added a new property TextureGenerationSettings.secondarySpriteTextures, which lets you assign secondary textures to the Sprite texture asset that is being generated.

2D: Added a new property TextureImporter.secondarySpriteTextures, which lets you assgin secondary textures to a texture asset imported as Sprite.

2D: Added a new struct UnityEngine.SecondarySpriteTexture, which encapsulates a Texture2D and its shader property name to give Sprite-based renderers access to a secondary texture, in addition to the main Sprite texture.

Asset Import: Added MaterialEditorExtensions.PerformBumpMapCheck. This iterates over all Material properties with the Normal flag and checks that Unity imports the Textures they reference as normal maps.

Editor: Added more API points for TransformHandle to provide granular control over which handles appear.

Editor: Added new API to detect & control async shader compilation better in the Editor.

Editor: Added CompilationPipeline.compilationStarted and CompilationPipeline.compilationFinished events for when compilation starts and finishes in the Editor.

Editor: Added CompilationPipeline.GetAssemblyDefinitionFilePathFromAssemblyReference, CompilationPipeline.GetAssemblyDefinitionReferenceType, CompilationPipeline.GUIDToAssemblyDefinitionReferenceGUID, and CompilationPipeline.AssemblyDefinitionReferenceGUIDToGUID APIs for dealing with Assembly Definition File references that can be either a GUID or assembly name.

Editor: Added EditorUtility.GetDirtyCount(), which returns how many times SetDirty is invoked on the specified Asset. The counter is reset to zero when the Asset is saved.

Editor: Added EditorUtility.IsDirty(), which returns true if SetDirty is invoked on the specified Asset.

Editor: Added GameObjectUtility.GetMonoBehavioursWithMissingScriptCount and GameObjectUtility.RemoveMonoBehavioursWithMissingScript to be able to remove MonoBehaviours with a missing script from a GameObject.

Editor: Exposed ProjectWindowUtil.CreateScriptAssetFromTemplateFile, which allows Editor scripts to create new text-based assets from template files. This is similar to how the built-in C# script template is used.

Editor: Fixed input fields for sliders that have a width lower than 150 with no label.
(1078003)

GI: Added Gizmos.exposure texture which, when set, is read back to determine exposure correction for LightProbe gizmos. This is the alternative to correcting them via Post-processing.

Graphics: Added a simulatation function to fast-forward a VisualEffect.

Graphics: Added a variant static function for ShaderUtil.UpdateShaderAsset & ShaderUtil.CreateShaderAsset to skip compilation of the initial variant. This can save compilation time for ShaderGraph and Visual Effect Graph but it doesn't log any early compilation errors.

Graphics: Added Graphics and CommandBuffer method overloads to allow blitting to and from a texture array in the corresponding blit methods.

Graphics: Added Texture2DArray property "allSlices". The "allSlices" property can be used instead of "-1" to indicate that all texture array slices should be bound for methods that support texture arrays.

Graphics: Added Shader.GetDependency() for querying a dependent shader by name.

Graphics: Added SortingLayerRange to FilterRenderSettings to allow for the filtering of sorting layers by ScriptableRenderContext.

Graphics: Changed the SRP signature of BeginCameraRendering and BeginFrameRendering to give access to the ScriptableRenderContext. Added callbacks for end camera and end frame rendering.

Graphics: Exposed setting for a number of jobs used when using occlusion culling.

Graphics: UnityEngine.Rendering.GPUFence class has been deprecated and replaced with UnityEngine.Rendering.GraphicsFence.

GraphView: Added a new constructor with OnResized callback parameter to Resizer manipulator.

GraphView: Added canAcceptDrop callback to BlackBoardSection.

GraphView: Added OnResized callback to MiniMap.

GraphView: Added Renamable capability to GraphElement.

GraphView: GraphView.GetElementByGuid() now returns the first element with the given GUID, within all of GraphView, not just elements contained in layers.

Kernel: Added a central cache for TypeTrees.

Memory Profiler: Added Dispose functionality to the PackedMemorySnapshot class to prevent instances from locking the snapshot file for longer than necessary.

Memory Profiler: Added UnityEditor.Profiling.Memory.Experimental.PackedMemorySnapshot.Convert to handle conversion from a MemoryProfiler.PackedMemorysnapshot object to a UnityEditor.Profiling.Memory.Experimental.PackedMemorySnapshot file.

Profiler: Added Profiler.EmitFrameMetaData API for saving arbitrary data to the Profiler stream and reading it in the Editor.

Profiler: Exposed the Editor UI used to connect to a player from the Profiler or Console Window. In UnityEditor.Experimental.Networking.PlayerConnection, EditorGUIUtility.GetAttachToPlayerState(EditorWindow parentWindow) gets the connection state, and EditorGUILayout/EditorGUI.AttachToPlayerDropdown draws it.

Shaders: Added the Shader.passCount property for retrieving the number of shader passes of the active SubShader.

Shaders: Made the [ShaderIncludePath] attribute obsolete. All shader header files must be under the Assets folder or in a package. To include shader headers directly from a package, use #include "Packages//.

TerrainData.CopyActiveRenderTextureToTexture
Use the two above functions to copy content of the active RT into Terrain Textures, and optionally delay CPU synchronization, for instance, when a mousemove event occurs in the middle of painting.

TerrainData.DirtyHeightmapRegion

TerrainData.DirtyTextureRegion
Use these two functions instead of ones initially listed if the user directly changes the GPU resources through other means.

TerrainData.SyncHeightmap

TerrainData.SyncTexture
Use these two functions to perform a full synchronization from GPU to CPU, for instance, when a mouseup event occurs.

Terrain: Added the TerrainData.GetInterpolatedHeights method for querying interpolated Terrain height values over a grid of samples.

2D: Fixed the offset of the TilemapCollider2D collider for Isometric Tilemaps.

2D: Made a Sprite that is not packed into a Sprite Atlas remain invisible.
(1083304)

2D: Made changes so that when you click and drag on an unselected Sprite, the Sprite Editor Window shows a normal cursor to indicate dragging a Sprite, instead of the resize cursor used for resizing a border.
(1077700)

2D: Made changes to allow users to reset the Sorting Layer and Sorting Order settings of Renderer components from the Inspector Settings (cog button).
(1096375)

2D: PSB files do not get packed when added to Sprite Atlas
(1114959, 1121775)

Editor: Added Main Menu/ prefix to main menu commands displayed in the Shortcuts Manager Command list with Category set to All Unity Commands.

Editor: Added a fix for consistent logfile option handling for all desktop platforms, the Editor, and the Player. This improves the handling of edge cases and scenarios with logfile parameter.
(900754, 960012, 1068907)

Editor: Added a fix so that items can be activated with space bar input in the Linux Editor inspector.
(1061975)

Editor: Added a fix so that selecting Open on the Context Menu performs actions on folders.
(1079852)

Editor: Fixed an issue in the Shortcuts Manager Commmand list where right-clicking an entry did not select that entry, and displayed the context menu from the previously selected entry.
(1110804, 1120069)

Editor: Fixed an issue in the Shortcuts Manager where changes were not saved to the profile when users unassigned shortcuts or reset shortcuts to their default settings.

Editor: Fixed an issue in the Shortcuts Manager where selecting a new category from the Category list did not reset the selected entry in the Command list.
(1104559, 1120070)

Editor: Fixed an issue in the Shortcuts Manager where users could assign reserved modifier keys (Shift, Ctrl/Cmd, and so on) to commands.
(1110790, 1120071)

Editor: Fixed an issue on Linux where the progress bar window changed size repeatedly while creating or opening a project.
(1100653)

Editor: Fixed an issue on macOS where entering Unity keyboard shortcuts while a project was loading crashed Unity.
(1004336)

Editor: Fixed an issue on macOS where launching the Editor with -batchmode as the first argument caused a crash.
(1059028)

Editor: Fixed an issue on macOS where opening and closing utility windows caused a crash.
(1046287)

Editor: Fixed an issue where artifacts appeared in Sprite sheets when users clicked drop-down menus in the Inspector.
(1055868)

Editor: Fixed an issue where assets from Unity's built-in resources could not be loaded by AssetDatabase.LoadAllAssetsAtPath.
(1104874)

Editor: Fixed an issue where calling RenderTexture.ReleaseTemporary twice for same texture caused a crash.
(1091561)

Editor: Fixed an issue where changing the shortcut for a main-menu item using the Shortcuts Manager would not update the menu with the new shortcut.

Editor: Fixed an issue where closing the Editor while the Asset Store or Services window was loading caused a crash.
(1024048)

Editor: Fixed an issue where creating a parameter for an Animation condition after creating the condition sometimes threw a NullReferenceException.
(1127789, 1131535)

Editor: Fixed an issue where drag and dropping a texture onto a GameObject in the Scene created a material with no texture in HDRP projects.

Editor: Fixed an issue where dragging a GameObject to the position directly after a child object in the Hierarchy window inserted the dragged object in the wrong position.
(1069565)

Editor: Fixed an issue where the Game view layout was not changing when the application was paused.
(1104417)

Editor: Fixed an issue where the IME input was causing text duplication in the Editor.
(1117859, 1117878)

Editor: Fixed an issue where the Inspector did not display GUI label tooltips.
(1057359)

Editor: Fixed an issue where the Layers drop-down menu in the Inspector did not list grouped Layers properly.
(1068422)

Editor: Fixed an issue where the mouse position was offset in the Game view when using IMGUI.
(1097051)

Editor: Fixed an issue where the preview icon for the Material Preset flickered.
(1099296)

Editor: Fixed an issue where the RuntimeInitializeOnLoadMethodAttribute was ignored inside player-only code blocks (such as when using #if !UNITY_EDITOR) and inside player-only assemblies created with an Assembly Definition.
(922692, 1071599)

Editor: Fixed an issue where the Scene icon was not updated after the png file was changed.
(1084630)

Editor: Fixed an issue where LoadSceneAsync would not trigger subscribed callbacks on load.
(1049526)

Editor: Fixed an issue with overriden main menu shortcuts.

Editor: Fixed an issue with project update from 2017.4 to 2019.1.
(1099240)

GI: Fixed an issue where supersampling was introducing interdeterministic results with direct samples. It now uses round-robin sampling between supersamples.
(936693)

GI: Fixed an issue where the bake could split out "Assertion failed on expression: 'm_NumInstanceTransforms == m_NumInstanceLODGroups'" and produce incorrect results for Scenes with LODs in them. It could occur when entering avatar configuration when baking or making sweeping changes to instances contained in the Scene.
(1102752)

GI: Fixed an issue where the lightmap preview window didn't get cleared when lightmaps were removed.
(1082621)

GI: Fixed an issue where the Reflection Probes progress bar didn't get cleared when cancelling.

GI: Fixed an issue where Unity would try to load incompatible serialized lighting data from cache and print out "Failed to load '***' because it was serialized with a newer version of Unity. (Has a higher SerializedFile version).".
(1112513, 1129760)

UI Elements: Fixed an issue where UIElements did not respond to the Return key, Enter key, and the spacebar with fields such as Toggle, GradientField, CurveField, ObjectField, EnumField, and popup-related fields.

UI Elements: Fixed an issue with GraphView where the group title name was not visible during editing.
(1106992)

UI Elements: Fixed an issue with measuring text elements that were not added to a hierarchy.
(1108699)

UI Elements: Fixed an issue with setting the showVertical and showHorizontal properties of a Scrollview with a callback.
(1137340, 1139666)

UI Elements: Fixed an issue with text and numeric fields where pressing Enter did not end editing.
(1096200)

UI Elements: Fixed an issue with text and numeric fields where pressing Escape did not end editing and restore the previous value.
(1096199)

UI Elements: Fixed an issue with UXML template instances where they always appeared at the end of their parent.
(1104566)

UI Elements: Fixed an issue with VectorXXFields when the window is resized.
(1049285)

Oops...

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Got it

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.