I've Unity5 installed (free edition). When I started with Unity3D I did with 5 and never had the 4 before.

A friend has passed me legacy code of a 90% complete game he used to do with Unity4 as he no longer wants to dedicate to videogames, for me to use that to finish it.

If I load that code into the Unity5, the "automatic upgrader" starts to do lots of changes. And finally the thing does not play. Says All compiler errors have to be fixed before you can enter playmode!

The thing is he used some third-party libraries, like the tk2droot among others and seems that the code of that and other dependant libreries is rather old, so I do not only need to scan over his code for the "v4 to v5 upgrade changes" but also I've to scan all his dependencies, which is rather a suicide at least for an initial contact like "let's just see if this compiles".


  1. Is there any way make Unity5 "behave" as Unity4 so it does not do the code-upgrade and it uses the old API? Ie: Compile v4-code within v5-IDE?
  2. Alternatively, is is possible to freely install Unity4 parallel to Unity5 so they do not interact and I am able to compile his source un Unity4 while doing the new things in Unity5?

The easiest solution I can find is to have 2 computers, one with Unity4 and the other with Unity5 but seems a but weird to me. I'm sure I'm not the only one with this problem.

How do game developers with codebases in Unity4 and Unity5 make all the workflow?

PD: Focusing on Android now only. No need to publish for iOS, web, consoles, etc.




I happen to have...five? different versions of Unity installed myself at the moment. Two versions of 4 (4.1 and 4.6?) and three versions of 5 (5.0.1, 5.1.1, and 5.2.1).

You won't neccessarily be able to open a Unity 4 project in Unity 5 (it will upgrade it), but you can have the different versions all installed at the same time, as long as you provide separate installation directories.

  • \$\begingroup\$ Why so many versions? \$\endgroup\$ – Evorlor Jan 7 '16 at 5:20
  • 2
    \$\begingroup\$ Well. I was using 5.0 for a project of my own. 4.1 was so I could develop an expansion to someone else's game. The other version (versions?) of 4 I have were so I could try and look at one of their other games (I never was able to run it). I forget why I have 5.1 and 5.2 installed separately. I was probably dicking around with something and didn't want to inadvertently break a project that was known-good on 5.0 \$\endgroup\$ – Draco18s no longer trusts SE Jan 7 '16 at 15:01

Yes. I have three versions of Unity installed right now. If you don't rename the folder it will replace it, so just make sure to rename the install location.

btw "tk2d" code is referring to 2D Toolkit, and that is not an open-source library.

  • \$\begingroup\$ I thought tk2droot it was this thing here code.google.com/p/2d-platforming-indiegames-nngames/source/… and I assumed open just because it was in google code - but probably I'm wrong. I'll edit my question just in case, as the detail of "open source" is irrelevant to the question. Thanks. \$\endgroup\$ – Xavi Montero Jan 6 '16 at 22:09
  • \$\begingroup\$ hm perhaps some open-source project just happened to use the exact same name as 2D Toolkit. I just know that I use 2D Toolkit and everything is tk2d[something], you should check with your collaborator. \$\endgroup\$ – jhocking Jan 7 '16 at 15:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.