Introduction
One day, I looked around at those messy old projects of mine and thought, Why not finally do the epic job of backing them up to Plastic SCM—before a disaster hits and I lose them all? I hated the idea of crying over countless hours of hard work once it’s already too late. So here we are… I finally did it. These are the key points I learned along the way. Keep in mind that most of these projects were years old, so upgrading them to newer versions took quite a bit of effort.
Note: Since there were quite a few projects, I decided to split them into two posts: one for the old projects and another for the really old ones. This post covers the just-old ones (from 2017), which I upgraded to Unity 2022.3.11f1 — the latest LTS at the time.
Blog
- Took a backup of the project
- Upgrading the project to Unity 2022.3.11f1 resulted in one error and a few warnings, most based on HTTP request not allowed: “System.InvalidOperationException: Insecure connection not allowed”: https://forum.unity.com/threads/external-links-dont-open-from-editor-1363749.1167556/
- I looked for the required setting and changed it from project settings-> player-> Allow downloads over HTTP (change to always allowed). This removed all except for one warning.
- The last warning was: “Cannot add menu item ‘GameObject/3D Object/ProBuilder Basic Cube _%k’ for method ‘ProBuilder2.EditorCommon.pb_Geometry_Interface.MenuCreateCube’ because a menu item with the same name already exists.”
- Fixed it by installing probuilder from the package manager. Apparently, the project, while updating, installed an obsolete version of Probuilder, and now, by downloading this through the project manager, I downloaded the up-to-date version and uninstalled the old one.
- Now all errors are removed.
- Downloaded the version control package from the package manager.
- Windows-> Unity version control. Then select “Create Workspace” from the Unity version control window.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Candy Shop
- Took a backup of the project
- Upgraded the project’s Unity version to the 2022 LTS
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Domestic molotov
- Took a backup of the project
- Upgrading the project to Unity 2022.3.11f1 resulted in multiple errors like: “The type or namespace name ‘UI’ does not exist in the namespace ‘UnityEngine’ (are you missing an assembly reference?)” (for Image and Text as well)
- I had to revert to the backup and upgrade the project gradually: 2018, then 2021, then 2022. This didn’t produce the errors.
- While testing the project in all Unity versions, it seems to be buggy when throwing the boxes. There is a high possibility that I was making some changes in the project, and I left it in the middle without solving the bugs there (I seem to have a zip file with the original GGJ version with a slightly smaller size). Either that or the upgrade process messed something up. Either way, I have a backup of the project with its original version from 2017, but I think I will probably fix the project in the latest version instead.
- Renamed project from GGJ 2019 to DomesticMolotov following these instructions: https://tarynwritescode.hashnode.dev/how-to-rename-your-unity-game
- Researched a persistent error after upgrade: “Component GUI Layer in Main Camera for Scene Assets/Scenes/Gameplay.unity is no longer available.”. Turns out the solution was to remove the flare component from the main camera as advised here: https://forum.unity.com/threads/component-of-type-gui-text-is-no-longer-available-in-unity-references-to-it-will-be-removed.751883/
- Updated the UI of the scene because it was so messed up, and set it to scale with screen size.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Surviving the flood
- Took a backup of the project
- Upgraded the project gradually, from an earlier 2018 version to 2018 LTS. A bug appeared where movement left or right doesn’t stop when releasing the movement keys. It should be easy enough to fix later.
- Won’t need to fix the bug because upgrading to 2021 fixed it. Another error appeared for UI elements that was solved by commenting out the respective “using” line. The moving background seems to be missing chunks, though.
- Upgrading to 2022 didn’t result in any errors.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
The Hoarder’s curse
- Took a backup of the project
- Upgraded the project gradually, from 2017 to 2018. No errors, but a lot of warnings.
- Upgraded to 2021 and had the same error that occurred while upgrading Domestic Molotov and fixed it.
- Upgraded to 2022 with no errors, but there is a persistent repetitive warning. The warning was solved by removing the nav obstacle component from the nav agent prefab.
- Renamed the project.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Particle fun
- Took a backup of the project
- Upgraded the project gradually, from 2017 to 2018, which resulted in many warnings and one error due to a web reference. Fixed it by changing web to WebGL.
- Upgraded to 2021 and fixed again two errors due to deprecated references.
- Upgrading to 2022 resulted in many warnings and a few errors. The first error was due to the SDK not being added, but I wasn’t able to add it to this Unity version because it needed to be updated. Updating it solved this error.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Quiz Maker
- Took a backup of the project
- Upgraded from 2018 to 2021 without issues (couldn’t test much because I don’t remember where I left off in my login implementation).
- Upgraded to 2022 without issues.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Snake Game
- Took a backup of the project
- Upgraded the project gradually, from 2017 to 2018, then to 202,1, then to 2022, which resulted in many warnings and a few errors.
- One error was due to the missing Android SDK. Fixed it by adding the SDK location (home) in project preferences. It still says that I am not using the recommended version for some reason, but the error is gone. Should check it later.
- Again had the same error that occurred while upgrading Domestic Molotov and fixed it.
- Another error: “Assembly ‘Assets/PlayServicesResolver/Editor/Google.IOSResolver.dll’ will not be loaded due to errors: Unable to resolve reference ‘UnityEditor.iOS.Extensions.Xcode’. Is the assembly missing or incompatible with the current platform? Reference validation can be disabled in the Plugin Inspector.”
I researched this error and found I needed to uncheck Validate references in the plugin settings. This post helped me with the solution: https://github.com/googlesamples/unity-jar-resolver/issues/412
And this link showed me how to modify the settings by selecting the plugin file: https://docs.unity3d.com/Manual/PluginInspector.html
- The error stayed, but restarting Unity and then clearing the console removed it.
- There are several Facebook package warnings, but they can wait for later.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Malee
- Took a backup of the project
- Proceeded to test the project to make sure that everything was working fine before starting to upgrade.
- Fixed one error due to the wrong image file being placed (sweetsbuttonup). And made sure the correct image file had read/write enabled set to true.
- There are still 4 errors and 1 benign warning that occur when starting the game but I will leave them for now and attempt to start upgrading.
- Upgraded the project gradually, from 2018 to 2021, and then to 2022. Errors didn’t change.
- The same iOS error that occurred in the snake game occurred here, too, and I fixed it.
- There are two other errors that seem to be connected, and it seems recommended to install the iOS module to solve them all, based on this link, among other research: https://forum.unity.com/threads/google-iosresolver-will-not-be-loaded-in-2021-1-11f1-and-later.1128617/
- Actually, installing the module didn’t solve it, and I had to delete the Play Services Resolver folder and import the External dependency manager folder package from here (solution 1): https://forum.unity.com/threads/google-iosresolver-will-not-be-loaded-in-2021-1-11f1-and-later.1128617/
- Now the last two errors were because of Text Mesh Pro. Error: “The type or namespace name ‘TMP_UiEditorPanel’ could not be found”. I fixed it by going to the script and changing ‘TMP_UiEditorPanel’ to ‘TMP_EditorPanelUI’ as advised here: https://github.com/pnarimani/RTLTMPro/issues/52
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
3araby
- Took a backup of the project
- Proceeded to test the project to make sure that everything was working fine before starting to upgrade.
- Upgraded the project gradually, from 2018 to 2021, and then to 2022. Some errors appeared along the way.
- Resolved some previously encountered errors, like the HTTP errors and the GUI errors.
- Resolved an error in the “Level_Loader” script because of the attempted destruction of the same object in a loop. Adding a break at the end of the loop guaranteed this wouldn’t happen and removed the error.
- Another error due to using the obsolete “www” was resolved by replacing it with the current “UnityWebRequest” class.
- After more testing, no more errors appear. Although it appears the project was abandoned in the middle of Facebook integration.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Character procedural generation
- Took a backup of the project
- Upgraded the project gradually, from 2021 to 2022, successfully, with no errors
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Paint Letters
Note: this was a test demo that wasn’t working yet.
- Took a backup of the project
- Upgraded the project gradually, from 2019 to 2021, and then to 2022 successfully.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Sales tycoon
Note: this was a test demo that wasn’t finished
- Took a backup of the project
- Upgraded the project gradually, from 2018 to 2021, and then to 2022 successfully.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Mission Power On
Note: this was a test demo that wasn’t working yet.
- Took a backup of the project
- Upgraded the project gradually, from 2019 to 2021, and then to 2022 successfully.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
The Sinister Beat
- Took a backup of the project
- Upgraded the project gradually, from 5.6 to 2018, then to 2021, and then to 2022 successfully.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Share this:
- Click to share on X (Opens in new window) X
- Click to share on Facebook (Opens in new window) Facebook
- Click to share on LinkedIn (Opens in new window) LinkedIn
- Click to share on Reddit (Opens in new window) Reddit
- Click to share on Telegram (Opens in new window) Telegram
- Click to share on WhatsApp (Opens in new window) WhatsApp