I have a ScriptedImporter
that generates a few extra assets, this works fine except when I re-import it after version upgrade, I get the following message:
Asset with guid 'bbe94cef9d5f3464ab6ba6913e6747a2' and path '...' is up to date, but does not have a correct target hash assigned to it in the GuidPersistentManager
UnityEngine.UnitySynchronizationContext:ExecuteTasks()
Inside that ScriptedImporter
I've tried File.Delete
, AssetDatabase.Refresh
, AssetDatabase.ImportAsset
but neither helped out, only when I delete it manually it does work.
Furthermore, that error message is quite useless as basically Unity handles it but still notifies you.
Note that the asset generated is next to the format being imported, this is because if for instance you create a texture and add it to the AssetImportContext
then it becomes readonly in the Inspector and cannot be tweaked further. So basically I generate a PNG file in same folder which then has the usual TextureImporter
that can be edited as will.
Question:
How to avoid incorrect GUID errors when re-importing an asset generated by a ScriptedImporter
?
Alternatively, how to solve this incorrect GUID clash when overwriting an asset?