How to re-serialize assets so they are stored as text?

In our Unity projects we set the Assets Serialization mode to Force Text so it plays well with our SVC.

From time to time an artists can generate an Unity package that contains assets and prefabs, so is easier for the rest of the team to share.

If that package is generated inside a project where the Asset Serialization Mode is not set to Force Text, the prefabs are stored as binary. So far so good.

The problem is that when we import the package into the project with Force Text enabled, those imported prefabs are not reserialized as text, and remain serialized in the binary format.

The only way to make the prefaba to reserialize in text format is, either to delete its meta file (bad idea), or to modify the prefab and then save it.

Reimporting the prefab does not work.

Does anyone encountered this problem and has a solution? Is there any way to force an asset to reserialize, even if it is using a script?

I had this exact same problem. I found out that, after importing a package, you switch your project to “Force Binary” and then back to “Force Text” it converts all the binary assets that were imported over to text. Depending on how big your project is, this could take a while. I like to import the assets into an empty project, switch them to text, then export them again for our core project.