Retrocompatibility of assets!

Hi Epic,

I could suggest you to add certain retrocompatibility of assets from newer versions to older ones, at least those more “simple”.

Currently, if you open a project (or switch the UE version) with a newer version and, for example, you discover that you need to still continue using your previous UE version, you won’t be able, at all, to open your project. However I think that most of things could be read by previous versions, isn’t it? Thnks like skeletal mesh or that kind of “basic” assets could try to be opened at least. It could show an error when trying to load a newer parameter in the older version, of in the case of a blueprint with new nodes, eliminate them and show a compilation warning, but it could try to open it, at least. I think it’s an important and useful thing.

Thank you and best regards!

Would be nice to have some kind of compatibility for pak files between engine versions as well. Currently it’s pure hell for moddable games to upgrade.

That’s most probably impossible to make stable. The thing is when the existing property of the class (like asset definition) changes or some old ones got removed, programmers add a special code to silently fix/update assets saved with older code/engine. If asset serialization code wouldn’t be updated, you wouldn’t be able to open assets with errors. It would 100% crash on load…
You’ll never notice it if properly done - and Epic does a great job here. The engine is significantly changing with every version, but you safely import assets from the previous version of the engine (excluding just some experimental features/assets).

It’s all thanks to adding this special code to the new version of the engine which reads older assets - new code knows what to do. It’s all thanks to “manual” work of engine programmers.
Sadly, code from the past can’t possibly know what changed in the future version of engine/assets and can’t gracefully read a slightly different asset format. Generally, it’s the same with much different software, like older versions of Windows won’t run game produced for newer Windows using newer API :wink:

They could probably implement something like what Autodesk did with 3ds Max, they rewrote their file system so that things were more compartmentalized that would allow them to save to older versions of the program

That is something very dangerous to have in practice.