It was quite a while we did not update our project to the most recent unity version. The reason was simple, TextMeshPro has finally got integrated into Unity natively beginning from 2018.3.
Now, while the news was great, this obviously causes quite a lot of differences in a project.
The “bible” to follow to update is this one https://forum.unity.com/threads/migrating-from-legacy-asset-store-to-package-manager-releases.511748/ but when we did try it in january, the older version of Visual Studio had a bug that, even while following all these steps, had the whole process fail.
We did try at that time for 2 days, before reverting to the 2017.3 version we were stuck with. Not a funny experience. At all.
Now we decided it was time to try again, so we stocked up the coffee reservoirs and did it. It turned out that most of it worked out of the box. Most of it.
Now, Empires in Ruins folder is a solid 25 GB, 15 GB when rarred (I tend to also make a physical rar backup when doing this kind of updates). The first attempt to fly straight to 2019.1 failed (a solid 30 minutes to rar, another 60 minutes to try and fail, another 30 minutes to restore the backup).
I installed 2018.4 (the LTS release) and followed to the letter all the instruction from the forum and wow, it started working.
A font had disappeared (and all the labels using it had reverted to the default one so had to be restored manually), some TextMeshProUGUI scripts had gone forever from some panel (and had to be remade manually, we are talking about 40-50 of them), and so we had to hunt for these issues for a whole day.
Non-TMP related issues arose too. First of all, most of the spritesheet stopped working correctly until we updated the TexturePacker unity asset (https://www.codeandweb.com/texturepacker beautiful lifesaving tool for spritesheets work) to the newest version and we did reimport all the assets (takes approx 2-3 hours in a project like EiR). Some assets we had to further reimport manually otherwise they were going nuts (we got the beautiful Picasso-looking bug with the officers).
The ravens of one of the VFX, that were still running on a very old JS script, stopped working as JS has been deprecated and removed from Unity, so we had to remake the scripts in c#.
So that’s more or less how it went, if I remember right those were the biggest issues/steps. Three days of slow bug hunting, long long waits, but it was worth it. We can now use also in EiR the nested prefabs workflow, the animators are finally not anymore based on the names of the assets (but probably on their guid), and the intro video stopped stuttering.
From Dr.H that’s all, we keep on coding!