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

Question "Could not extract GUID in text file" and "Broken text PPtr. GUID" ERRORS

Discussion in 'Visual Scripting' started by qbsol123, Dec 28, 2021.

  1. qbsol123

    qbsol123

    Joined:
    Jul 15, 2020
    Posts:
    7
    After update project to new version 2021.2.7f1 i have few similar errors when load project and run.
    I don't have any idea how to fix it, can someone give a tips or just show way where and how try to fix it.


    Could not extract GUID in text file Library/Unused/d94ead35be45941438438d80a74cae34 at line 1052.
    UnityEngine.StackTraceUtility:ExtractStackTrace ()
    UnityEditorInternal.InternalEditorUtility:SaveToSerializedFileAndForget (UnityEngine.Object[],string,bool) (at /Users/bokken/buildslave/unity/build/Editor/Mono/InternalEditorUtility.bindings.cs:231)
    UnityEditor.EditorApplicationLayout:InitPlaymodeLayout ()



    Broken text PPtr. GUID 00000000000000000000000000000000 fileID 8458124308623808283 is invalid!
    UnityEditor.EditorApplicationLayout:SetStopmodeLayout ()
     

    Attached Files:

  2. SurreyMuso

    SurreyMuso

    Joined:
    Mar 16, 2020
    Posts:
    63
    I, too, get these constantly. FWIW, I'm on Apple Silicon also running various versions (all Apple Silicon Native). I don't see them much in the LTS versions (Intel only).

    What are they? I don't believe they are anything to do with the code you are writing. I believe them to be part of Visual Scripting management and display. On the whole, they don't seem to cause many problems. These are the ones I see most frequently:
    • I sometimes lose the dots next to ports on a node
    • I end up with the X,Y,Z input fields from Vector 3s dotted around, not attached to any node
    • Node Grouping frames disappear
    I don't know of any way of preventing the errors but one poster suggested a way of getting rid of them by deserialising the assets files (Project Settings > Editor > Asset Serialisation Mode > Force Binary). Trouble is that would then make compatibility between versions less stable. Unity stores values in serialised formats (Unity uses YAML) and this can help but there may still be incompatibility issues when loading a project in a different version of the editor.

    Another advantage of serialised assets is that Github and similar version management systems can more easily identify changes.

    Are these problems going to get fixed? I doubt it. Most effort on VS is going into the new version but that's not going to be stable for quite a while – at least a year). Meanwhile, we get what we get in VS.
     
  3. qbsol123

    qbsol123

    Joined:
    Jul 15, 2020
    Posts:
    7
    Thank you for this answer! Much more than expected ;).

    So is this a typical VS error ? Before i changed from Bolt to VS (fight with 100 errors but that was easy), now again new version of unity and tsunami of that errors (probably i not perfect migrate to new version).
    But i see that not specially broke project and how you said looks like code works fine.

    Do you think rebuild project on new clean version will help (its small project like old style arcade simple game, so probably i spend more hours on looking for solve then to rebuild project)?

    But im not sure it will work with imported scripts/state machines, prefabs, etc. from older version?
     
  4. SurreyMuso

    SurreyMuso

    Joined:
    Mar 16, 2020
    Posts:
    63
    Should you rebuild on a new clean version? No - I've tried that and I've found that these errors occur in pretty much all versions. You won't get an error free environment in any version of the Visual Scripting package. As I said, however, most of the errors can be ignored and have visual impact at worst. I've only once lost a project by opening in a new version of the VS package.

    I don't know the secrets of Unity's future architecture but I do have hopes that they will get it right. However, there is evidence that they are playing catch-up in several areas and working with a massive code base is always bad news for quality. DOTS, WETA VFX integration, new VS architecture, catching up with Real in terms of performance etc will be a massive headache for Unity.

    Unity needs to make a profit and so the expansion into industries other than gaming will be a priority. Strangely, that makes Visual Scripting more important so that architects, industrial designers etc can get into VR/AR/XR/3D Design quickly.
     
  5. Trindenberg

    Trindenberg

    Joined:
    Dec 3, 2017
    Posts:
    395
    Didn't even know that existed, have Forced Binary and everything is now more responsive for a start! What are the drawbacks though, just Unity versions?
     
  6. SurreyMuso

    SurreyMuso

    Joined:
    Mar 16, 2020
    Posts:
    63
    According to Unity docs, the main reason for using text based rather than binary is to do with Source Control Systems (eg Git or PlasticSCM).

    These tools can expose changes in text based docs and report differences back to you. In other words: "You changed line 25 in file XYZ from alpha to beta". It can't do that with a binary file. Given that we often don't even know what's in these asset files, that might not mean very much to you.

    However, Unity has a Smart Scene Merge utility, which allows Source Code Management systems to identify that two scenes are just marginally different and apply only individual changes. If the asset is serialized with YAML, Source Code Management can see line by line where there are differences are in an intelligent way.

    Let's say two people, Alice and Bob are independently working on the same scene and both want to make changes to the principle file. So, we have three versions: S(P) - the principle file in the main repository, S(A) - Alice's version and S(B) - Bob's version. If the asset is in binary, Git can't tell how to change at a microscopic level - it's all or nothing. If the asset is in YAML, Git can see that Alice and Bob both changed different parts of the principle file and can safely merge both changes without impacting integrity.

    You are right that Binary is faster. I would have thought that was mainly at load/save, unless Unity only uses YAML internally, which wouldn't seem very sensible to me...
     
    ChloeCai and Trindenberg like this.