Old Project Issue

Hello everyone. Thank you for all the help.

I recently received an old project that i am trying to get working. The problem is that the project was apparently made in Unity 3.4.2 and there are some majors issues accompanying it.

While all meshes, materials, shaders, scripts, etc seem to be included, they have all been disconnected from objects in the scenes, as well as all prefabs.

As this is not my project initially, I have no idea what is suppose to go where. I have been plugging away trying to reconnect everything with mild success, however, I can’t help but think there must be an easier way to resolve this.

For reference, I have attempted to download Unity 3.4.2, as well as many other versions to see if the issue would resolve itself. Scripts seem to be reattached in these older versions, which helped me greatly, however, animations, meshes, materials, etc, are all still broken.

I am relatively new to unity so any help you experts can provide me with would be greatly appreciated.

I don’t think it is a good idea for you to be learning Unity and trying to move a project from 3.x to a modern version. Too many things have changed, too many API’s have been replaced, too many things will break you probably don’t yet know how to fix. Even if you have been using Unity for the last five years daily, moving any decently sized 3.x project forward to 2018.x is going to be a big challenge.

Thank you for getting back to me.

I was afraid that that would be what I was told. I guess that means that there really is no easy way to make this work.

Any other tips or tricks anyone may have would be appreciated.

Thanks.

Just some examples of issues you may run into.

  • In 3.x it was common for code to be written in UnityScript (a Javascript variant with file extension of .js). Unity has dropped support for this language entirely, so all UnityScript will need to be converted or rewritten in C#.

  • If the game is multiplayer, the networking solution used in 3.x has been removed. You would need to entirely rewrite all the networking code.

  • The particle system in use in 3.x has been replaced. So you’d need to convert or recreate any particle effects in the new system.

  • The physics engine has been upgraded, which may effect the way any physics interactions occur in game breaking ways.

  • The lighting system has been replaced, which may result in unexpected lighting changes throughout your game.

  • The current UI system was added in Unity 4.6, so the UI in your 3.x game will be the old system. The old system is still in Unity for the most part, but is not recommended or maintained anymore for anything but developer only displays (showing FPS, status of variables, etc, which would be disabled before shipping to players). If it does work fine, no tutorial from the last several years will be useful for teaching you how to maintain the legacy UI in the game - you’d have to hunt down old tutorials.

  • Your issues with scripts, etc, disconnected from objects is possibly due to compiler errors. Every compiler error reported to the console has to be resolved before the current version of Unity can compile the code. Since it is after such a large upgrade, I’d expect you won’t be able to get any components on any gameobjects to be usable until every compile error is resolved first. After that you may find most things are no longer disconnected. Depending on the code, you may have a small number or thousands of compiler errors, each needing to be fixed one at a time first before messing with any gameobject components in the editor.

So the process of moving your project could take anywhere from days to months to complete.