Version: 2019.2
Using the Automatic API Updater
Upgrading to Unity 2019.1

Upgrading to Unity 2019.2

For more information about what’s new in 2019.2, see the 2019.2 Release Notes.


Tilemap Editor is now a Package

The TilemapA GameObject that allows you to quickly create 2D levels using tiles and a grid overlay. More info
See in Glossary
Editor is now a package. This package is automatically installed in new Unity Projects created with the 2D Project template. For more information on installing a package see https://docs.unity3d.com/2019.2/Documentation/Manual/upm-ui-actions.html .

All public classes have been moved to the UnityEditor.Tilemaps namespace. Unity compiles your scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary
that reference these classes into the “Unity.2D.Tilemap.Editor” Assembly Definition Asset. These are:

  • GridBrush
  • GridBrushEditorBase
  • GridBrushEditor
  • GridSelection

Unity will attempt to update the relevant Tilemap using statements in your scripts but please check and change if needed.

If you are referencing the Tilemap Tooling classes with scripts which are part of an Assembly Definition, you should add the “Unity.2D.Tilemap.Editor” Assembly Definition as an Assembly Definition Reference under your Assembly Definition. Unity may have set this automatically for you but please change it if it hasn’t.

Assembly definition for the Tilemap Editor
Assembly definition for the Tilemap Editor

If you have precompiled assemblies referencing the Tilemap Tooling classes from a previous version of Unity, you will encounter issues when using them due to these changes. If possible, please update and recompile these assemblies against the new Tilemap Tooling assemblies.

If you have precompiled assemblies referencing the Tilemap Tooling classes from a previous version of Unity, you need to update and recompile these assemblies to reference the new Tilemap Tooling assemblies.

Examples of these issues when importing the precompiled assembly are (as errors in the Console window):

Failed to extract {Class in Precompiled Assembly} class of base type UnityEditor.GridBrush when inspecting {Precompiled Assembly} Unloading broken assembly {Precompiled Assembly}, this assembly can cause crashes in the runtime

These errors can be caused by inheriting from one of the Tilemap Tooling classes such as the GridBrush.

Examples of these issues when using the precompiled assembly are (as errors in the Console window):

TypeLoadException: Could not resolve type with token 01000011 (from typeref, class/assembly UnityEditor.GridBrush, UnityEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null)
Error: Could not load signature of {Method in Precompiled Assembly) due to: Could not resolve type with token 01000011 (from typeref, class/assembly UnityEditor.GridBrush, UnityEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null) assembly:UnityEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null type:UnityEditor.GridBrush member:(null) signature:<none>

These errors can be caused by creating or calling one of the methods of the Tilemap Tooling classes such as the GridBrush.


SpriteTooling is now a Package

Sprite Tooling (Sprite Editor Window) is now a package. For more information on installing a package see Adding and removing packages.

  • This package is not added to a new Unity Project by default, unless the new Project is created with the 2D Project template.
  • This package will be added to pre-existing Unity Projects (2019.1 and prior) when upgraded to Unity 2019.1. You can remove this package If your project doesn’t use 2D SpritesA 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. More info
    See in Glossary
    and doesn’t require the use of Sprite Tooling.
  • As part of converting the Sprite Tooling to a Package, the Experimental namespaces has been removed. If your project has scripts which reference classes related to Sprite Tooling, please ensure that they are using the correct namespace after the upgrade, eg. adding “using UnityEditor.U2D.Sprites” if required.
  • If you are referencing the Sprite classes with scripts which are part of an Assembly Definition, you need to add the “Unity.2D.Sprite.Editor” Assembly Definition as an Assembly Definition Reference under your Assembly Definition.
Assembly definition for the Sprite Tooling
Assembly definition for the Sprite Tooling

Unity UI is now a Package

Unity UI (UGUI) is now a package, com.unity.ugui. You can access it from the Package Manager (menu: Window > Package Manager).

Unity UI(User Interface) Allows a user to interact with your application. More info
See in Glossary
is a core package that ships with Unity. You do not need to install it in new Projects. When you upgrade existing Unity Projects, created with version 2019.2b1 and earlier, to Unity 2019.2, this package is added automatically. Assembly definitions automatically get a reference to the uGUI assembly. If you install Unity 2019.2 overtop of an older version of Unity, make sure that the GUISystem folder, located in \Editor\Data\UnityExtensions\Unity is removed. Otherwise you might get class redefinition errors. The Unity UI source code is no longer published to BitBucket because Unity provides it with the package. The Unity UI API documentation is no longer in the main Scripting API reference. You can access it from the Scripting API section of the Unity UI package documentation.


.NET 3.5 Equivalent Scripting Runtime Removal

The .NET 3.5 Equivalent option for Scripting Runtime Version has been removed. Projects are automatically migrated to use the .NET 4.x Equivalent option when opened in 2019.2.

  • Upgrade Guide for 2019.2 NewIn20192
Using the Automatic API Updater
Upgrading to Unity 2019.1