Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug Nested prefab losing references when viewing parent but not when viewing child, TMPro Font Asset

Discussion in 'UGUI & TextMesh Pro' started by ron_unity614, Oct 29, 2020.

  1. ron_unity614

    ron_unity614

    Joined:
    Oct 29, 2020
    Posts:
    24
    I have a nested prefab containing multiple prefabs. When directly editing the lowest level prefabs, all references are correct. When directly editing the highest level prefab (the overall parent) some references are lost. Specifically, the TextMesh Pro font asset reference and the font size revert back to default values.

    These prefabs are being imported into the project using two custom packages: one for the asset references and one for the prefabs. This seems to work on a brand new project (with only TextMesh Pro essentials imported) but will sometimes fail on existing projects. I have manually checked if on import there is a change in GUID references, and there is no difference between a working import and a non-working import.

    I am assuming this is an issue related to TextMesh Pro because it is only TMP font assets that have this issue; every other reference stays intact.

    The odd thing is that this doesn't always happen. I have tested importing the packages into multiple projects, sometimes it works correctly 100% and sometimes it doesn't.



    The nested prefab hierarchy looks something like this (overly simplified):

    Parent prefab
    |_ GameObject
    |_ Child prefab
    ....|_ GameObject

    If you directly edit the child prefab you will see everything is working as intended. You will see that objects are referencing items correctly by pointing to assets within the package containing the asset references.

    The issue becomes apparent when directly editing the parent prefab. Every reference to a font asset is reverted back to the default variable set in TMP_Settings. This reverts font size to the default value as well.



    As far as I can tell, there is no reason this problem should exist. I have checked the .prefab files for the parent prefab in a working import and a non working import, and both are an exact match.

    Any information or insight would be very much appreciated. Thank you.

    (If further information or a sample project is needed, let me know and I will provide)
     
  2. ron_unity614

    ron_unity614

    Joined:
    Oct 29, 2020
    Posts:
    24
    Extra information:
    This is on Unity version 2020.1.6f1, I've checked the changelogs for each subsequent version and do not see this issue fixed or acknowledged.
    TextMesh Pro on version 3.0.1, also tried on version 3.0.3 to no avail.
     
  3. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    Please submit a bug report with sample project.

    I did fix some prefab instantiation issues in version 3.0.3 including point size issues but perhaps something else is going on with nested prefabs.
     
  4. ron_unity614

    ron_unity614

    Joined:
    Oct 29, 2020
    Posts:
    24
    Thank you for the fast reply. I submitted a case at the same time I posted this (Case 1288884). The case has more information, a sample project and the custom packages used.

    I did notice that when using TextMesh Pro in version 3.0.3 the point size did not revert to default so that part was fixed. The issue still persisted in 3.0.3 with the font asset references.
     
  5. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    Thank you for submitting the bug report and project.

    I'll try looking at it later tonight or over the next few days and follow up as soon as I have more information.