The question is answered, right answer was accepted
Unity 5.3 Serialization Depth Limit Error and Downgrading Project Version on Git
Hello forum, happy new year! Our project is off to a great start and we sincerely hope for all of our health in 2016.
In short, we've been failing downgrading a project's Unity version from 5.3 to 5.2, even though we are rolling back the project's Git repository's commits with erasing all possible local preferences or cashes of Unity.
My team has been working on a WebGL Unity project, whose Unity version had been 5.2. We are developing it on a Git repository in Bitbucket. Recently one member of us upgraded the project's Unity version to 5.3 and merged it to the main branch of the Git repository. It turned out that the project can't be exported to WebGL in the new version due to the "Serialization Depth Limit" error, which is known to have appeared from Unity version 5.3, and that the Unity dev team has stated that they are not going to turn it back. The fundamental problem here is the deep structure in our project that's causing the error, but we would rather like to firstly try downgrading the project's Unity version to 5.2 where the error doesn't occur.
We first figured out that Unity does not support downgrading a project's Unity version on Editor or by editing text files. So we decided to roll back the project's Git repository's head to the last commit where the Unity version is still 5.2. However, even though we rolled the head back using git reset --hard
and checkout
commands and confirmed the project's Unity version to be back to 5.2 on Editor and in the ProjectSettings
file, the "Serialization Depth Limit" error still occurred. We uninstalled Unity, deleted its local caches and preference files, deleted the project, rebooted the computer, re-installed Unity 5.2.1f, cloned the project's Git repository and rolled back the head again, but the Serialization error still occurred there. We also tried exporting/importing the project making a new project, but it did not work either.
One possibility is that our Git repository's .gitignore
has excluded some important files to handle the project's Unity version; here is the content of our .gitignore
:
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/Webplayer/
/.vs/
# Autogenerated VS/MD solution and project files
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
# Unity3D generated meta files
*.pidb.meta
# Unity3D Generated File On Crash Reports
sysinfo.txt
*.svd
*.userprefs
Or if Git does not support resetting binary files and the Unity version is stored in any binary files, it would be crucial as well.
Anyways, we are seeking for a solution to this problem: downgrading a project's Unity version (5.3 to 5.2) with possible loss of data described that probably is caused by Git or ignored files. We would appreciate any hints, any solutions to any related problems or links to them, or any related experience of yours. Of course we would appreciate if you're certain that we would have to give up on this matter as well.
Follow this Question
Related Questions
problems with merge conflicts for unity projects 1 Answer
update to 5.3 and now all gameobjects were erased from scene, why? 4 Answers
How to use version control with Unity 0 Answers
I've updated Unity 5.2.1f1 to 5.3.1f1 and now i can't make new projects 1 Answer
Unity smart merge + GIT on MAC OSX 0 Answers