🆔 Unity GUID Regenerator
A Unity editor tool to regenerate GUID for your assets
⚠️ Disclaimer: Only use this if needed. Intentionally modifying the GUID of an asset is not recommended unless certain files are problematic
What is GUID in Unity?
GUID is a unique hash that is automatically generated and assigned when creating a new asset. This GUID is used when a serialized asset references another asset.
It is stored in an asset’s meta file. Manually you can open and view a meta file in a text editor to get the GUID. However, Unity has its AssetDatabase API that is useful for accessing and performing operations on assets.
Why regenerate a GUID?
When you work on multiple projects that are based on existing projects, chances are most of the assets have the same GUID. This can cause some issues later on when you add more assets from existing projects. Unity won’t be able to distinguish the difference between assets with same GUID even they have different file name and contents. This can cause Unity to associate references to the wrong asset.
The simplest workaround for this is to duplicate the asset. The newly created asset will have its own GUID assigned by Unity. However, you will need to manually replace all its references in the Scene, prefabs, etc.
- Unity Editor > Windows > Package Manager
- Add package from git URL…
- Select one or multiple assets (folders are not supported)
- Right click > Generate GUID
- A modal will show to warn and confirm the action. Click Proceed.
- Wait for the operation to complete. Note that this will take a long time on larger projects.
- A report will be logged in the console detailling what assets are updated/skipped.
- Scenes are always skipped as this corrupts the scene.
This project is open source and available under the MIT License.