Why does switching platforms require a reimport of all assets?

Title says it all.

This is really a meta-question – knowing it won’t help you makes games any better. But, knowing why might help answer a better Q: “Is there any way to avoid the long platform-switch waiting times?” (I believe the Answer is “No”.)

Image formats need to be converted (and possibly other formats.) If you look, textures are in DXT* format in a PC build, and become a PVRTC format in an iOS build. You can probably also read the progress bar, check for items that are there for a while, and compare before/after formats.

Because each platform has different requirement.

The easiest example is the Web Player. It forbids many things that is allowed in the standalone. Like many IO classes.

When you switch to a platform like PS4 or Xbox, they provide libraries dedicated to their hardware.

There is similar reasons for graphic assets. All platforms do not handle all format (As far as I know), they are converted to the specific platform’s requirement (certainly for performance and other obscure reasons).

Thus, when you switch to a platform, Unity needs to recompile your code to check if it still work.