Important

Before upgrading Better UI in your project, make sure you have a backup of the current state of your project (If you use source control, make sure everything is committed. If not using source control, make a copy of your Assets folder).


Upgrade

If you upgrade from version 2.4 to version 2.5, simply import the new package.

Then you may need to upgrade TextMesh Pro support manually (see below).


The folder structure changed between version 2.3 and 2.4. 

Therefore, it is recommended to do a clean import if you upgrade from a version prior to 2.4:

  1. Open an empty Scene (File -> New Scene).
  2. Close all Better UI Tool windows -- especially the "Pick Resolution" Window.
  3. Delete the folder Assets/TheraBytes/BetterUI (but don't delete Assets/TheraBytes/Resources as there are your configurations for the project stored)
  4. Follow the Installation Guide.


Upgrading Better TextMesh Pro

If you have Better UI's TextMesh Pro support installed, you need to upgrade it manually if something changed between your versions.

Here are the versions where TextMesh Pro support changed:

  • 2.3 -> 2.4
  • 2.4 -> 2.5


The simplest way to upgrade is the following (do this only if you do not reference any Better TextMesh Pro components in your code):

    1. Open the Setup Wizard
      Tools -> Better UI -> Settings -> Setup Wizard
    2. Click "Jump to Third-Party-Support Page"
    3. Click "Remove TextMesh Pro add-on"
      NOTE: If the "Please Wait" page doesn't disappear now and you have errors in the console, you need to continue at step X of the other way to upgrade (see below) instead of step 4 here, but then also do step 5 from this guide here.
    4. After the page re-appears, click "Import TextMesh Pro Add-On"
    5. In case you had assembly definition files installed, go to the next page of the wizard and remove assembly definitions and then import them again (similar as with step 3 and 4).
      Alternately, you can navigate to Assets/TheraBytes/BetterUI/Packages and import the package "asmdef_incl_TextMeshPro"


The advanced way to upgrade (do this, if you reference Better TextMesh Pro components in your code, or if you want to do it "the clean way"):

    1. Navigate to "Assets/TheraBytes/BetterUI_TextMeshPro/Editor/Scripts" and open "BetterTextMeshProUGUIEditor"
    2. Depending on the version of TextMesh Pro in your project, the class has a different base class (see screenshots below). Memorize the name of the base class.
    3. Navigate to "Assets/TheraBytes/BetterUI/Packages" and import the package that starts with "BetterUI_TextMeshPro" and ends with the name of the memorized base class.
      • TMP_UiEditorPanel
        • BetterUI_TextMeshPro_UiEditorPanel
          ^ older TextMesh Pro Versions
      • TMP_EditorPanelUI 
        • BetterUI_TextMeshPro_EdiotPanelUI
          ^ probably what you need


 

Troubleshooting


If upgraded from a version prior to Better UI 2.3:

  • If you see a compile error, delete the editor file

TheraBytes/BetterUI/Editor/Scripts/BetterScrollRect

  • The spacing for existing BetterScrollRects might be overwritten after importing the Better UI (if upgraded from a version prior to v2.3).
    Please check your BetterScrollRects before importing and assign the right values again after import.
  • Any Better(Raw)Images with a Grayscale material assigned will not appear grayscale after import.
    Change the Material to something else and back to Grayscale to fix it.
    If this does not fix it, delete

TheraBytes/Resources/Materials

and try the material change again.

  • Unity 5.4 is not officially supported anymore. The minimum Unity version for Better UI is 5.5.
    Most features will also work with Unity 5.4 though. If you are upgrading a Unity 5.4 project, do not import the shader files of Better UI 2.3.



Note that Better UI 2.4 is the last version which supports Unity 5. From the next version on the minimum supported Unity version will be the LFS version which is still supported by Unity themselves.