Video games, being the culmination of every other art form at their most technical, take a long time to create. Because of this, it is not uncommon to hear of people developing games in legacy iterations of Unity. Occasionally there will be a need to migrate from previous versions of Unity to the latest, despite the Project breaking risks.
If you are enrolled in my No-code Video Game Development with Unity3d and Playmaker course you are most likely developing in 4.6.7f1 as per recommendations. In a related course that I hope to release soon I will be detailing how to add FPS touch controls to the Get To Tha Choppa! Project. I also hope to release a course on game monetization. The courses will not require any programming ability or additional Unity Asset Store purchases. In order to prepare the original Project for touch input and monetization there are two options; import a number of (unsupported) Packages into the current course Project or migrate to Unity 5 to take advantage of its native support of the necessary functionality. We’ll be doing the latter since in alternate scenarios importing Packages may not be a viable solution. Therefor the lesson will have greater applicability beyond prepping for Cross Platform Input and Unity Ads.
To migrate a 4.6.7f1 Project into Unity 5 you must do the following;
- Copy your Project folder (in Windows this is accomplished by right-clicking the Project, dragging and selecting “Copy here” and results in a cloned folder w/ the format: projectName – Copy)
- Open the cloned Project in Unity (if unable to open the Project, begin deleting third-party packages in your OS)
- Delete third-party Packages and reimport them in order of dependency (eg. Playmaker, then NGUI, then the PlayMaker NGUI Scripts fourth party bridge)
Frustratingly, even items (Prefabs, Components) in Standard Asset Packages whose names are the same across Unity versions may be significantly different from one to the other. In one instance I was stumped by the fact that Cross Platform Input in my upgraded Project was not working. Troubleshooting was hindered by the fact that the controls were working to limited extent in the editor but not on the device. Eventually I determined that the issue was not with Cross Platform Input itself but with the FPSInput Controller Component; in Unity 5 it had been upgraded yet its name remained the same. I had to delete the entire Standard Asset Packages collection from my Project and import their Unity 5 counterparts. Touch inptut worked thereafter.
Look for my No-Code touch input and monetization courses on Udemy, coming soon!
A Note from Admin:
I hope you found this content useful. If so, please like and subscribe and consider contributing to
so that I can continue to produce great #gamedev and #game art content while battling cancer!
Subscribe and get ahead with the latest tech recommendations, tricks, and tutorials!
learnindiedev.com Unlike Udemy, this site will feature live lessons and game jam learn-a-thons (exactly what it sounds like)! Featuring No-Code Video Game Development, the only video course to become a published text book!
openforcommissions.com Why be hard to find? Upload your portfolio, change your open/close status with a single tweet, get paid!