So I’m not sure how UIDs or any of this works exactly..
What I do is I create a mesh in Blender and import it to Godot. Then I modify the mesh in Blender and import it to Godot again, overwriting the already existing previously imported mesh.
And every MeshInstance3D that uses that mesh will use the new one automatically, which is what I want.
But then I get a warning like this:
WARNING: scene/resources/resource_format_text.cpp:444 - res://SpaceShip2.tscn:22 - ext_resource, invalid UID: uid://curkfqvtx0wmc - using text path instead: res://MESH/mesh_sh2_cargo_interior_walls_1.res
The way I understand it is the MeshInstance3D that uses the mesh will try to find the original one based on the UID, but it can’t find it (because I owerwritten it ?), so I keep getting these warnings at startup.
I can get rid of the warning by adding the new mesh to the MeshInstance3D, so it will know that the new mesh IS the one it supposed to use.
But the whole point of dumping the meshes into a folder is that I don’t have to update every MeshInstance3D one by one that uses the mesh.
Is there a way to re-import and overwrite meshes without breaking the UID references of nodes that use them..? Or something… I’m not even sure that’s the problem.
Edit:
It happens for updated animation files too.
I found this answer from @mrcdk: link
But I have no Upgrade UIDs option in the tools menu.
It was probably removed because it was a bug that is supposedly fixed in 4.5, but I still have it in 4.5.1: