Incorrect guids after migrating from 2.6.1 to 2.7.1


photo

Recommended Posts

Hello,

I'm finally getting around to upgrading my project from 2.6.1 to 2.7.1(as far as I can go).   To do this I usually copy all of our data assets into a new project that I create via the SDK Browser.  I then update the project via the SDK Browser.  Usually, this works for me.  This time, however, the guids that get generated in guids.db pretty much all incorrect.  every material that I look at in the editor is red.  if I open up the editor I see all of the guids are broken links.  if I search in the guids.db file those guids its trying to find doesn't exist, and if I track down the texture that it should be linked to, the guid is something different.

I don't feel like I'm doing anything confusing here that should mess up the process, I have run it a couple times and each time it came out the same way.  Any idea why this is happening or how I can get the guids to align?

 

I should add that the migration log only has one error on the second line "FileSystem::load() failed to load "E:/Project/2.6 to 2.7/data//guids.db" which I didn't think was a problem since we didn't have that file in 2.6.  Maybe that's the issue?

Edited by dred
Link to post

Hello dred,

Could you please specify how exactly you are copying your project? For correct migration from 2.6.1 to 2.7.1, migration script requires both assets and data folders located in project root dir. e.g. /unigine_project_1/assets, /unigine_project_1/data. The easiest way to leave everything in it's place is to just copy entire project folder and then add it to SDK Browser through "Add Existing" button on projects tab. Or just use "Make Backup" option when upgrading.

Also, you should have guids.db file in 2.6.1 project, the file is generated after Editor2 launch

Thanks

Link to post

We were never on Editor 2 in 2.6.1 we were on Editor 1 We had Object Terrains we were working with and could not update to editor 2 until the migration to ObjectTerrainGlobal was finished.

 

Should I go from Editor 1 to Editor 2 in 2.6.1 and then go to 2.7.1 in editor 2?  instead of just from editor 1 2.6.1 to 2.7.1?

Link to post

I went back to my 2.6.1 project and ran it in editor 2.  It also created the guids.db file with mismatched guids.  what is the correct way to do this?

Link to post

Hello dred,

Could you please provide us full migration.log.html (located in project root folder, right after migration) and engine log.htm (located in project/bin fodler) after first launch of Editor2 in migrated project.

Thanks

Link to post

I am giving you 3 zips.  

I went through our project and deleted everything except 1 test world, 1 node, one material, and 5 textures for that material.

"working project at 6.1.1 Editor 1.zip" is at this point.  The world loads you can see the object and the material looks fine.

Next, via the SDK Browser, I updated the project to 2.6.1.1 Editor 2.  Then before I ran the editor I cut everything in "data/2.6.1.1 t0 2.7.1 simple proj" folder into the same path but in a assets folder I created.  I then ran editor 2 which imported the assets back into the data folder.  Everything at this point appears to work. you can open Editor 2 and browse to "2.6.1.1 t0 2.7.1 simple proj\Environment\Worlds" and load PhysicsTest.world.  

"working project at 6.1.1 Editor 2.zip" is at this point.  The world loads you can see the object and the material looks fine.

Next, via the SDK Browser, I  edit the configuration and upgrade to Unigine 2.7.1.  The upgrade finishes and the migration log has no errors.

"mismatched guids at 7.1.zip" is at this point.

If you open the editor and open the PhysicsTest world, you don't see the chair.  if you edit the node reference it isn't correctly linked to the mesh.  Also if you open the materials folder and look at the material 2 of the 5 materials have guids that are unknown.

 

I don't know if I am doing something wrong or if there is a bug here. I also don't know if there are other issues with our standard project or if this represents all of the problems we have.

working project at 6.1.1 Editor 1.zip

working_project_at_6.1.1_Editor_2.zip

missmatched_guids_at_7.1.zip

Link to post

Hello dred,

When migrating to 2.7.1, the second step you did is unnecessary, migration from Editor1 to Editor2 workflow done automatically by migration script. To correctly migrate to 2.7.1 with Editor2 workflow, just upgrade your 2.6.1.1 - Editor1 project via SDK Browser.

If you just upgrade "working project at 6.1.1 Editor 1" to 2.7.1 everything seems to be working fine

Thanks

Link to post

I haven't yet tried to upgrade the sample project directly from a working 2.6.1.1 project, I did try to do that with our main project and it failed the same way I was seeing with the sample project.

 

Even if it does work why can't it go from editor 2 upgrade shouldn't that work as well?

Link to post

After that last post, The hard drive that I was using to migrate the on died.  I got a new hard drive and it appears to work going straight from 2.6.1 Editor 1 to 2.7.1.  I didn't try from editor 2 to 2.7.1 to see if that worked as expected.

Link to post

The automatic migration from Editor1 to Editor2 has been added only in 2.7. Manual migration requires more than copying from data to assets, which will work for materials and meshes, but more complex object like terrain data needs different migration algorithm. It's better to migrate straight from 2.6.1 with Editor 1 to Editor 2

Link to post

Well Apparently It didn't work on the main project as well as I had thought, none of the objects which were in Clusters got converted correctly.  They either still had their full paths, in which case they worked, or they had guids assigned and they were incorrect causing them not to appear.  I manually replaced The guids for all of the objects in one of our worlds, and now it crashes when I try to load it.  

in  NodeReference::canBeReference its crashing on NULL nodes.  The object that it's crashing on has incorrectly assigned guids in its node references.  The crash is very annoying and makes fixing the Incorrect guids much harder.

Link to post

I am noticing that the guids for my material files don't align with the ones listed in the guids.db file as well.  if I look in the meta file for one of my nodes it has a guid which is the same as the guid in guid.db.  but the guid for my material files is not the same. Is that intended?

Link to post

Hello dred,

We are very concerned with your migration issues, but unfortunately we could not reproduce any. Could you please revise step-by-step that everything is correct.

If you don't want to trust content backup system, just clone entire project folder and then add it to SDK Browser using "Add Existing" button on "Projects" tab, after this you should have two absolutely identical projects.

Next step is to run upgrade script through SDK Browser, please notify if you're adding any add-ons or plugins on this step. Upgrade script only generates guids.db for "/data" contents and replaces all path references in the .world, .node, e.t.c. with GUID references. Upgrade script generates .meta and .runtimes inly for uncompressed textures, the rest of content will be processed on the next step.

After that, at least one launch of Editor 2 is required. The Editor 2 generates .meta files and all of .runtimes based on guids stored in guids.db for all the rest of content.

Please also refer to this article for the axceptional cases in materials migration.

If everything is correct, and after these steps you're still expiriencing incorrect GUIDS issues. Please provide migration log and engine log after launch of Editore 2 from your main project. And, if it possible, some project which does not migrates using these steps.

Link to post

Unfortunately, there isn't any more time I can spend on this.  I can give you the log file from the migration but I don't have the one from the first editor load.  

At this point, I am holding other people up.  Its better for us If I keep moving forward and manually fix the incorrect guid instances than to go back and try and figure out what went wrong with the migration and try again. 

In the migration log, you can see during one step a few hundred nodes have the error Invalid guid.  I don't know what caused it, but I can't really wrap up our entire project and send it off, and I don't have time to try and piece another sample together that fails in the same way.

migration.log.html

Link to post

Hi @dred ,

we're really concerned about this issue, but, unfortunately, we couldn't find reasons for these errors. The attached project was upgraded without any issues to the current SDK version.

It should've worked in 2 clicks in SDK Browser and there was no need for additional actions as copying files or manual migrating to Editor 2. It's hard to guess what exactly stopped a successful migration, that's why we asked for the whole project. It could be manually created nodes, complicated project structure or something else.

It will be much easier (and faster) if we could've taken a look at your project.

If there's a chance that you'll find some more time for this, please attach the project on 2.6 SDK or at least extended scene with nodes that appeared to be broken after migration.

Thank you.

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post

morbid, 

If I get free time I can try but It probably won't be soon. uploading the project itself is difficult, even without the security concerns it's over 60 gigs of data.  I was hoping I could easily create a sample project but the last one didn't pan out.  Creating those sample scenes do take time, and sometimes they don't show the issue.  We don't have any manually created nodes, we do have some manually created materials though.  We do have some nodes and other files which date back to Unigine 1(they have all been migrated to the latest versions but some stuff lingers).  looking through the nodes that failed I didn't see anything in them that looks strange or stands out to me as wrong.  

Link to post