When opening a project in an older, side-by-side, version of Unity you might notice the error: Unable to instantiate prefab. Prefab may be broken, when trying to add a Prefab to your scene. It looks like you are not able to drag any prefab into your scene. Luckily, the solution is easy.

Unity: Unable to instantiate prefab. Prefab may be broken.

To solve the error ‘Unable to instantiate prefab. Prefab may be broken.’ you need to reimport all of your prefabs. Or even better try to reimport all assets but this might take some time depending on the size of your project.

The reason of this error is that somehow the prefab settings have changed syntax. So if you would open the .prefab file in a text editor, you would see a list of properties. Some of these properties are referring to sourcePrefab and this seems to have changed into parentPrefab.

You could edit these properties yourself but a reimport will do this just fine for you.

The question which still remains however is: why have these properties changed? I am using the same Unity version, same project so what has happened? The answer might probably because I have tried to open the same project with a more recent version of Unity. It could be that it has changed some of the properties of the prefabs. Then, when using the older version of Unity, this no longer works. Could be. Anyway, if you have experience the same and know the root cause, please leave a message below.

Happy coding!