Introduction
In the previous post, I shared some of my old projects from 2017-2018. This time, we’re going even further back—to the really ancient ones. Upgrading these was trickier, with some interesting challenges along the way. I hope that by writing about them here, I can help anyone else struggling to bring their ancient Unity projects back to life. Many of the errors/issues I faced aren’t common anymore, and finding support for issues tied to versions long out of service is anything but easy.
Note: This post covers really old projects (from Unity 5.3 and a couple of projects from an unknown version before that), which I upgraded to Unity 2022.3.11f1 — the latest LTS at the time.
Acoustic
- Took a backup of the project
- Upgraded the project gradually, from 5.4 to 2018, which resulted in many warnings and a few errors. Running the project made Unity unresponsive, and I was forced to quit it.
- After some testing, it turned out to be an infinite loop bug that was left in the project from the last time. I fixed it, and it is responsive now. It should be noted that the project was left in an incomplete state, although the aesthetics are promising.
- Proceeded to upgrade the project from 2018 to 2021, which resulted in two errors related to the GUI, and since I wasn’t using the GUI anyway, I proceeded to upgrade again to 2022 to see if it would go away, but it didn’t.
- Now I followed the advice in the console and changed obsolete GUI references to UI references: “error CS0619: ‘GUIText’ is obsolete: ‘GUIText has been removed. Use UI.Text instead.’” and that removed the errors and was stable when tested.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Character customization (Teddy)
- Took a backup of the project
- Upgraded the project gradually, from 5.4 to 2018. The project ran well, as there is very little code there. It is obvious, though, that most of the code work was left unfinished.
- Proceeded to upgrade the project from 2018 to 2021 and then to 2022 successfully.
- Created a repository for the project and checked into Unity version control(Plastic SCM).
Crash Course
- Took a backup of the project
- Upgraded the project gradually, from 5.6 to 2018. The project ran well, but one of the effects on the character does not appear visually for some reason. I will attempt to fix it after I complete the upgrade.
- Proceeded to upgrade the project from 2018 to 2021 successfully, and that also solved the particle effect appearance, Alhamdulillah. A new run-time error appears, though: “ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: The input color to be converted must not contain negative values (red: 0.3363363, green: 0.02676579, blue: -0.00140002).”
- Proceeded to upgrade the project to 2022 anyway to see if it would go away, but unfortunately, the error persists. Researching it didn’t yield anything except that maybe it was a bug from Unity. After some testing, I pinpointed the cause to be the directional light, and it seems to have the wrong representation for the displayed color. I used the color picker to reselect the color, and that solved the problem.
- To be checked later: There is an error in scene 3 because of an unfinished work attempt to integrate the enemy target with the procedural generation.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
There shall be light
- Took a backup of the project
- Upgraded the project gradually, from 5.6 to 2018, but testing the project seems unresponsive. Testing the project showed that there are two missing scripts in the inspector due to errors. I continued upgrading to 2021 and then to 2022 with no status change.
- Further testing showed that there are a couple of JS scripts, and of course, now Unity couldn’t identify them and so couldn’t attach them to their respective game objects.
- Using ChatGPT, I converted the JS scripts to C# after some struggle, but finally, this resolved all the issues, and the game worked fine.
- To do later: This project needs particularly heavy cleaning to be done in the future.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Survive the Night
- Took a backup of the project
- Upgraded the project gradually, from 5.3 to 2018, with 41 errors. Decided to continue upgrading anyway to see whether they will persist. Upgrading to 2021 and then 2022 requested safe mode and displayed two errors due to obsolete classes GUITexture and GUIText. I followed the advice here to just replace it with Image and Text: https://forum.unity.com/threads/error-message-for-guitexture.1056419/
- Another error appeared due to the obsolete Webplayer, which was easily solved by replacing it with WebGL. After that, the project ran successfully.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Space Shooter Mobile
Note: This project was written in JavaScript, which is not supported in later versions, so we will need to convert most of the scripts to C#.
- Took a backup of the project
- Upgraded the project gradually, from 5.6 to 2018, with many errors. Decided to continue upgrading anyway to see whether they would persist. Upgrading to 2021 and then 2022 requested safe mode and displayed the same errors here and here.
- Three more errors in some editor scripts that seem to be missing a class dependency that I couldn’t find. I don’t think I actually used these editor scripts before, so I decided to comment their content. This removed the remaining errors.
- Now the next part will begin. I need to convert the JS scripts to C#. Using ChatGPT, I successfully did so. In the beginning, I tried using an AI assistant plugin, but after testing it, I found it consumes money, and I can get the same result for free from the OpenAI website.
- Now I need to reassign the script for everything to work again. That took quite some time.
- After I did so, there were some bugs that led to unplanned behaviors and also Unity crashing, so I needed to do some maintenance on some scripts, which fixed all issues.
- Created a repository for the project and checked it into Unity version control(Plastic SCM).
Villa Demo
Note: This project was written solely in JavaScript, which is not supported in later versions, so we will need to convert all the scripts to C#.
- Took a backup of the project
- Upgraded the project gradually, from an unknown old Unity version to 2018, then 2021, then 2022. Didn’t try to test since all the scripts need to be converted to C# first. But no out-of-the-box errors either.
- Now the next part will begin. I need to convert the JS scripts to C#. Using ChatGPT, I successfully did so for my own scripts. The tricky part is the character controller and FPS Controller standard assets scripts.
- I was skeptical that it would work easily, but after some help from ChatGPT, I converted the standard assets scripts as well to C#. The only extra thing that I needed to do was to make the subclasses in the CharacterMotor script serializable so I could update them from the inspector.
- After that, I updated the variable’s values from the values that Unity (thankfully) stored from the past.
- I tested it, and there seemed to be some minor bugs in the movement and camera look, which required some tinkering, but eventually, I got it to work.
- The one bug that took most of the time was the character controller not being able to climb steps (stairs or otherwise). Tinkering didn’t help, so I researched, and I found the solution in my case was to increase the step offset of the character controller to 90. https://discussions.unity.com/t/character-motor-wont-go-up-stairs/12077/6
- Created a repository for the project and checked it into Unity version control(Plastic SCM).

King of Asphalt
- Took a backup of the project
- Upgraded the project gradually, from 5.4 to 2018, which produced many strange errors, some of which led to talk about bugs in earlier Unity versions. I decided to go with my gut feeling and continue upgrading to 2021, then to 2022. This decreased the errors considerably.
- I had to enter safe mode and check the remaining errors. Two errors were related to IAP older modules. “error CS1704: An assembly with the same simple name ‘Purchasing.Common’ has already been imported. Try removing one of the references (e.g., ‘/Plugins/UnityPurchasing/Bin/Purchasing.Common.dll’) or sign them to enable side-by-side.” Researching this error, I found an article advising to delete the IAP folder and library folder, which removed the error. https://forum.unity.com/threads/multiple-warnings-and-errors-when-clicking-the-import-button-after-installing-3-1-0.1099204/
- Another IAP-related error is still there. Following the advice of Unity, I updated the IAP package from the package manager, but this didn’t solve the issue (but I think it was necessary as part of the solution). Now I added the code here, and that removed the error (added, not replaced as suggested. Replacing will not remove the error): https://stackoverflow.com/questions/59077185/cant-implement-interface-member-istorelistener
- There was a Rider-related error that may have been the main reason for the safe mode. I updated the Rider package from the package manager, but the error persisted. After more research, I found some related articles for similar errors that suggested deleting the .dll file, but in my case, I just removed the rider package, deleted the library folder, and reopened the project, and this removed the error for me.
- Now remain 17 repeated errors like this one: “error CS0619: ‘GUITexture’ is obsolete: ‘GUITexture has been removed. Use UI.Image instead.’” and it seems that these are the ones causing the safe mode prompt. I went one by one and replaced the obsolete class.
- To do later: This project needs particularly heavy cleaning to be done in the future.
- 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