Is there a way to migrate assets from a newer version of unreal to an older build?

I’ve had my eye on some FPS arm models for a while but I didn’t know model assets had a version. Finally purchased em tonight for my 4.8 project but they seem to only be compatible with 4.12 and up. I rally don’t want to upgrade my project if I don’t have too, afraid of breaking any of the multitudes of systems I have in place already, especially for just one asset. Any advice is welcome, thanks.

Hi,

as far as I know it is not possible to downgrade assets to older versions. Would be also interested to know this.

Kind Regards

freakxnet

Hi Swiss Cheese,

Assets are not forward compatible in this way, meaning that 4.8 is not able to open an asset from a future version, but all versions of the engine are backward compatible so that a current version can read assets created in a previous version.

-Tim

Though you can’t do this in a simple way such as using the Migrate option, for art assets like meshes you can manually export all of the meshes and textures and then manually re-create some blank materials with the same names and then copy and paste the nodes from the newer engine material to your new blank one and then just re-connect the pins. It’s a bit more work but provided the newer engine version hasn’t implemented new nodes that don’t exist in the old version, it should work. You’d need to create the root folder and import the textures, Then create the blank materials and copy and paste the material nodes from the new engine to the old one before finally importing the meshes themselves.

You should also be able to copy and paste all the actors from a newer engine map file to an older engine map as well in the same way, as it’s just storing references to the actors, and their positional data (transforms).
I’m in the process of doing this myself so I’ll let you know if it works.

1 Like

I can now confirm that this process does indeed work to get art assets from a newer version of UE4 into an older one. I ran into some issues with opacity textures not being able to be exported out as tga files, but I worked around it with simply taking a screen shot of the texture in full screen, and then re-sizing to 1024x1024 instead of the 2048x2048 that they were originally. Took most of the day to re-create all of the materials and material instances and re-apply the textures to the meshes, but after I did that, a copy and paste of the map across engine versions worked as I suspected it would.

It would likely even work with blueprints provided, as I said before, the new engine version hasn’t introduced nodes that don’t exist in the old version.

I would also suggest that you try to get the engine versions as close to each other as possible. For example, the asset pack I converted supported up to 4.25 and my engine version was 4.22, but the oldest version the asset pack supported was 4.23, so I downloaded that engine and added the asset pack to it, before bringing over to 4.22. The closer you get the engine versions to each other, the less likely it is that there will be major changes to nodes etc. I actually did experience a few crashes when copy and pasting material node networks until I realized that it was because the “world aligned texture” nodes changed from 4.22 to 4.23. Copying everything but those nodes and then manually adding them back in fixed the crash.

@torquemod - What about the map files?

@Ironbelly - ooh, map files are bound to be a lot more difficult because there’s usually blueprints in the map files too. You’d also have to make sure you re-build all blueprints when you do this though so it’s likely to be a much bigger headache though still technically possible. Either that or leave out the blueprints when you copy the map data. The easiest way to re-build the blueprints is to open them in the new engine version and select all and copy and then paste into a text file before pasting into a blueprint of the same type and name in the old project. This will re-create all of the nodes, but then you’ll have to go through all of the variables and right click and create them. All in all, it’s a lot more painful of a process.

You might be able to have two projects open at once - the newer version and the old one - and after you finish getting all of the assets functioning in the old version, you could try to open the map from the new version and then select all and copy from there and then open the old project, create a new empty map and hit paste. You’d just have to be sure that you’re not selecting any objects in the map that don’t exist in the old version of the engine to avoid crashes.

Again, this is just theory but it should work as you’re just getting references to actors and their transform data in the map file when you select all and copy. Definitely save all of the assets in the older project once you’ve finished re-building them before you paste in the map.

1 Like

Saved my life with the copy paste trick!

Exporting blueprints exports the asset as a .t3d which ive never heard of. Just tested tring to import it onto an older version project and it doesnt. I did it by dragging it from windows folder to windows folder. No matter which way i try to move assets from 5.3 to 5.1, the assets are there in the windows folder, but dont actually exist in the UE folder.

Does anybody know of a different way that actually works.

Warning to all: Do NOT create projects in any version beyond maybe 5.1. Things will break because these newer versions arent actually ready to be used by the public, and you will be screwed when you try to go back to a semi-woeking version. I learned the hard way.

Now there is a way with my plugin (https://www.unrealengine.com/marketplace/en-US/product/asset-downgrader) It downgrades assets all the way back to 4.27, with certain limitations (for now). Let me know if it works for you.