Author Topic: Remapping tool works well except for Prefab objects.  (Read 41 times)

wingedst

  • Newbie
  • *
  • Posts: 5
Remapping tool works well except for Prefab objects.
« on: February 11, 2019, 11:28:54 PM »
Hello.

First of all, I'd like to appreciate to your great asset and support. TMP is AWESOME! Thank you very much.
I was using Unity 5 and older version of TMP and now updated to Unity 2018.3.5f1 and integrated TMP through Packages Manager correctly. After using GUID remapping tool, everything works well and all TMP objects which were using old TMP changed into new version.

But 'objects connected to prefabs' and 'prefabs in the asset folder' didn't change at all and just shows the message at the 'Script' box of 'Missing (Mono Script)'.

I assume that the problem is related to prefab-ing thing because there were no difference when I was creating TMP objects with any other non-prefab objects which are working well. The only difference is that they are prefab-ed objects.

Please find attached images.

Thank you very much and I hope there's the way I could solve this problem.

Somi

Stephan B.

  • Administrator
  • Hero Member
  • *****
  • Posts: 5651
Re: Remapping tool works well except for Prefab objects.
« Reply #1 on: February 11, 2019, 11:54:11 PM »
When I last tested this, the prefabs were getting converted but this is not the first time something like this is reported.

Unfortunately, I haven't been able to reproduce it on my end. So any chance you could get me a simple repro project with one of those prefabs that fails to convert correctly?


wingedst

  • Newbie
  • *
  • Posts: 5
Re: Remapping tool works well except for Prefab objects.
« Reply #2 on: February 12, 2019, 12:28:22 AM »
I'm using macOS Mojabe 10.14 and Unity 2018.3.5f1.
I created new project and copied one of prefabs that I've been using for my games which includes old TMP text object.
1. I made two TMP objects: one is just an object which is made of old TMP. And the other is made of prefab of above.
2. Deleted old TMP folder and integrated new TMP and scanned, remapped through the exact procedure.
3. The one which is not related to any prefabs is showing its text perfectly.
4. But, as I expected, the prefab and the object made of the prefab is not finding the proper script file and not showing any text.

Please find the example project attached.

Best,

wingedst

  • Newbie
  • *
  • Posts: 5
Re: Remapping tool works well except for Prefab objects.
« Reply #3 on: February 12, 2019, 12:38:04 AM »
And here I attach one more repro project which includes nothing but old TMP asset and one prefab file using old TMP.
I hope this file can be any help.

Thanks.

Stephan B.

  • Administrator
  • Hero Member
  • *****
  • Posts: 5651
Re: Remapping tool works well except for Prefab objects.
« Reply #4 on: February 12, 2019, 02:42:20 AM »
Thank you for providing these example projects.

I'll take a look tomorrow and follow up afterwards.

Stephan B.

  • Administrator
  • Hero Member
  • *****
  • Posts: 5651
Re: Remapping tool works well except for Prefab objects.
« Reply #5 on: February 13, 2019, 02:29:48 PM »
The reason for the issue is as follows:

For some odd reason, the prefab(s) are serialized in binary mode / mixed mode although the project is set to Force Text.

I am not sure how these prefabs remained serialized as binary data but that is why the GUID Remapping Tool is not converting them as these need to be in serialized as text.

So in order to resolve / get these converted correctly, you will need to load the backup of the project in the previous version of Unity where these prefabs are correct and not missing any script references. You will then need to change the Project Settings - Editor to use Force Text serialization. If the project is already in that mode, switch back to Mixed and then back to Force Text which will force those prefabs to get re-serialized as text. You can verify this worked correctly by looking at the prefab file with some text editor.

Once these prefabs are all serialized as Force Text, then migrated to 2018.3 and go through the process again but this time, those prefabs should upgrade correctly.

P.S. I am having you go back to the backup and previous version of Unity because in the example projects you provided, the prefabs are already missing their script references and as such cannot be converted from binary back to text. This might not be the case in your project and if so, you could remove the TMP package version 1.3.0 using the Package Manager UI. This would cure the console errors and allow you to switch back to Mixed Mode and then back to Force Text. Assuming that works, you would then be able to re-import the TMP package and then follow the upgrade procedure. It might be easier / cleaner to make sure the assets are in Force Text mode in the back up but that other way could also work.

Give this a try and let me know what happens.