Recover Asset Overwritten By Unreal

I was new and naive…

I added a fab material to my landscape, opened the parent material and edited. Days of work to create the perfect auto-texture material landscape which allowed me to craft a beautiful world…

But then Unreal insisted that I updated the engine top 5.7.2.

Then it insisted again because 5.7.3 was released.

I was like “what harm can it do? I’m still going to keep using the 5.7 version on my game, I am just giving me the option to use the newer versions in the future for new projects!”

But little did I know that by updating UE, it would have redownloaded all plugins and reimported all materials from Fab. Now I’ve lost all progress done in that parent material because FOR SOME EXTREMELY STUPID DESIGN REASON, it was stored in the plugin and not in the content of the game!

Good news: I found a version from a month ago in the cooked folder. It’s a .uasset file.

Bad news: I can’t import it, and if I copy and paste it to a folder in the content, it doesn’t show up in the editor.

Is there any way to recover that material now?

P.S. I was not using versioning

Hello @MiniLoui2010 ,Welcome to the forums!
If I understood correctly, what happened to you isn’t really about being forced to update to 5.7.2 or 5.7.3, but rather about how Unreal handles plugins. When you directly edit a material that lives inside a Fab plugin, that asset is not truly part of your project’s content. If the engine or the plugin gets updated, Unreal can re-download and overwrite it, because from the system’s perspective that content belongs to the plugin, not to your game. That’s why, as a best practice, you should duplicate any Marketplace/Fab material into your project’s Content folder before modifying it and always work on that copy.

Regarding the file you found in the Cooked folder, it’s very likely that it cannot be recovered as an editable material. Cooked assets are optimized for runtime and usually lose editor-specific information, including the data required to reconstruct the full material graph. That’s why they don’t simply appear when copied back into the Content folder.

When it comes to updates, once a project is already in progress, the safest approach is to freeze the exact engine version you’re working with and avoid updating until the project is finished or at least until you have a solid backup (personally, I recommend not updating unless it’s absolutely necessary). Even minor version changes can trigger shader recompilation, plugin reimports, or overwriting of plugin-dependent content.

If you want to minimize risks in the future, a reasonable option is to work on a more consolidated version like 5.6 for projects that are already underway, or install a specific subversion (for example 5.7.1) and stick to it without updating.

To install a specific engine version that no longer appears in the Launcher, you can use the official Unreal Engine repository on GitHub. Epic maintains all versions there, but the repository is private, so you first need to link your Epic account with your GitHub account through the connections section in your Unreal Engine profile. After linking, you’ll receive an email invitation that you must accept. Once that’s done, you’ll have access to the full repository, where you can go to the releases or tags section and download or clone the exact version you need. From there, you can compile that specific version and use it to open your project without relying on what’s available in the Launcher. UnrealEngine/releases

How To Link GitHub To Epic Games Account

In summary, the most important thing isn’t the version itself but the workflow. Don’t edit assets inside plugins, use version control so you can roll back if something breaks, and keep your project structure clean from the start. It’s good practice to separate content into clear folders by system or feature (for example, Materials, Blueprints, UI, Landscapes, etc.) and use consistent naming conventions. In Unreal, it’s common to use prefixes like M_ for materials, MI_ for material instances, BP_ for blueprints, SM_ for static meshes, and T_ for textures. This not only keeps the project organized but also makes searching easier, prevents conflicts, and makes long-term maintenance much safer and more professional.

If you have any questions, don’t hesitate to ask on the forum , someone will most likely be able to help you with whatever you need.
Hope this helps, and happy developing!

My assumption came from the idea that updating the engine would’ve just downloaded a new version I could’ve used for new projects, and that the previous projects would’ve kept working under the old version.

Bummer! Man that must have stung…

Make sure you look in ProgramFiles/Epic/UE_5.xxx that it’s still not there. If it isn’t the file is likely a goner. It may not be as minor updates generally overwrite local install.

For my personal project I dev from the github version and update once every few months with little to no issues. I haven’t gotten to any point I need to lock down my version. I feel like this is something more for larger teams far along in the dev cycle with engine modifications, not for the prototyping phase. Don’t fear the updates… lot’s of times they come with major improvements. Just learn the pitfalls.

I agree with Rocco, it’s a workflow issue. I am careful to copy move anything I will modify out of the engine/plugin folders into my own content and create my own to work from. I also use Subversion for version control, this has saved my ■■■ so many times. Set up at least some kind of version control or even a simple hourly backup system to a thumb drive, lot’s of options… you will breathe way easier. Unreal development can feel like tightrope walking at times, version control is a safety harness.

At least if you have to re-build the Material, it will probably be better than your original and you will learn some along the way. Anybody dev’ing in Unreal has been there. I totally relate to your frustration!

1 Like

Thanks for the encuragement but the original was perfect, which means that either I make it perfect again or I’ll make it worse, that’s why I am so angry about it

1 Like