I’m trying to figure out how to optimize storage in Unreal Engine. Every time I download a content pack into a project, it seems to be stored only within that project. When I start a new project, I have to download the same pack again, even though I already have it in another project.
Is there a way to download a content pack once and use it across multiple projects without having to redownload it each time? Any advice or tips would be greatly appreciated!
If you mean that you want to Reuse the Project Content then it might be Possible to Perforce Shared Stream although I have not tried that thing yet
But if you want to Add Content in All Projects then
then you can create use Custom Templates for new, and for existing Projects you could just Copy Paste that Content in your Project Content folder Directly from Vault Cache.
If you are using Plugin then you could set it Enabled by Default in .uplugin file in your Engine Folder/Plugin/Marketplace/Plugin you want to be enabled by Default.
You can use Content Only Custom Plugin, by moving required Content to Plugin Content Folder and using the Plugin method I mentioned to set it Enabled by Default so that you won’t have to Press Add to Project every time in New Project, Downside is you have to manually Update them but Plus Point is you have to Update once and it will reflect in All Projects.
Highly recommend downloading everything to an external TB drive anyway, until all remaining questions surrounding permanent access to assets arising from the MIGRATION from Marketplace to Fab are answered / resolved. For example, its still not clear what happens to content that doesn’t get migrated over to Fab by some original creators. What will happen to these packs over time?
There are also reports that certain Epic content is still missing. Will that content be available forever in Vault / My-Library??? Plus, not everyone’s Vault / My-Library right-now is being successfully updated to reflect new purchases either. So its a real good idea to keep your own offline copies of assets. If your account is ever hacked or permanently inaccessible you’ll also have an added reason to celebrate. While most devs don’t work with offline devices or work airgapped for example, it does have some obvious advantages.
When copying over assets to external storage, its a good idea to copy / move directly from the Vault folder (not the underlying project folder). Overall, there is a chronic problem of name mismatching on the Marketplace / Fab, between the Epic-Marketplace-Name and the actual Toplevel-Folder-Name used by creators. Epic were supposed to clamp down on this ages go, but never did.
So if you do archive downloaded packs each time, try to rename top-level asset folders first (append the actual name used on the marketplace / fab). Trust me, after you collect 1000’s of asset packs you’ll be pleased you did this. As too many are titled with overly-similar names like modular-scifi-pack / modular-medieval-pack, or worse, some random non-related sometimes even insane name.
After that delete unused packs or migrate projects to help purge all the bloat. The one advantage though of keeping multiple copies of packs, is that you can customize them uniquely / differently. As its very risky to just keep a single shared copy as you can unwittingly overwrite / corrupt assets. That said, look into Junctions too maybe (OS feature). These are well explored in other threads on here, so do a search. Also be aware of DDC. As that can run to 100’s of GB’s. So its a good idea to purge DDC folders frequently and let DDC rebuild itself. There’s also shared / network DDC which is worth looking into for some users / teams.
What else? Engine installs are also super-bloated. There are zip / rar archives for docs and plugins (especially experimental) that will never ever be used by most devs in most projects. You may need to experiment to see what you can safely delete. But you can often save at least half beyond what is reported as bare minimum by the installer. In addition never download PDB debug files or engine source if you don’t need them. Most BP-based devs for example don’t need them (most of the time anyway). See this too (pagefile)…