Of course we would appreciate if you're certain that we would have to give up on this matter as well. We would appreciate any hints, any solutions to any related problems or links to them, or any related experience of yours. 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.Īnyways, 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. # Autogenerated VS/MD solution and project files 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`: We also tried exporting/importing the project making a new project, but it did not work either. 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. 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.
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. We first figured out that Unity does not support downgrading a project's Unity version on Editor or by editing text files. 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. 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. 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. We are developing it on a Git repository in Bitbucket. My team has been working on a WebGL Unity project, whose Unity version had been 5.2. 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. Hello forum, happy new year! Our project is off to a great start and we sincerely hope for all of our health in 2016. Only TFS seems not to trigger the merge at all when Get Latest is used.Īnything else I'm missing with the TFS and VS 2015 setup I'm using? I tried the same setup with SVN and it just worked automatically like expected. The changes I did for testing where independent game objects and just a changes of their Position.x value in the Unity editor, so complete independent game objects.
#Araxis merge gitgraken manual
But instead of merging the changes TFS showed the Resolve Conflicts screen only with the Take Theirs and Keep Mine options but no way to auto merge not even a manual merge option. Then a local change in Scene.unity on PC2 and used TFS Get Latest.
#Araxis merge gitgraken Pc
Now I tried all that and made a change in the Scene.unity on PC 1, checked it into TFS. prefab files in the Visual Studio Options like you can see in the below screenshot. Then I enabled Unity's YAML SmartMerge for. I've setup the Unity projects to create metadata and store all as text. I'm trying to come up with a good Unity dev collaboration solution for a company where TFS is used as main version control system. But it's doing the same thing for the root prefab too. Perhaps even prefab specific changes of child prefabs. My best guess is it supposed to save scene specific modifications of prefab instances. I suppose it's a bug introduced with scene saving in Unity 5.
It adds zero value, makes diffs harder to read, and merging virtually impossible. Needless to say I don't need the list of modifications saved to file. This is the field:Īnd later in the same file this is the list of modifications to the prefab:Īs you can see it specifically lists a modification to *frameTimeMean30* with a new value of 10. I changed *frameTimeMean30* from 0 to 10. One is the change itself, the other one is something like an undo history of changes being made, I suppose.Įxample. Starting with Unity 5.1 I'm seeing two modifications to the prefab file whenever changing a single field in a prefab.