I am surprised that UE4 can’t simply use assets that are used in the scene and not churn through entire project cooking and packaging every single assets.
Why not simply do that?
I bet the engine has a list of assets in the scene and linked assets that are in use. Why can’t those lists be used to make engine selectively package only that?!
Yeah, but engine pack all assets. For example, I have 2Gb of assets in my project. Scene might only use 500Mb of that. Yet UE4 will package all 2Gb of them, even if 3/4 of the assets are not even used in the game.
Simple,
Create a blank project.
Select your maps, right click, and migrate it to a blank project…
That export all used assets, unused are ignored, and you can export your config in Options (Inputs, Rendereing, Android, etc) and import in your new project… estimated time… 5 min.
Nothing miss, i use this workflow, and this export all ok, bps, gamemods, etc…
If the asset exist in your map, that is included in the export, if not exist, isnt included, and this selected all dependencies (Character-AnimGraph…).
I only put play in new project and test all, always work.
Thanks for the tip @s4ng3r. Have you tested it with streaming levels?
There is no excuse for Epic to not make this behavior default - I don’t think it’s a good workflow to be making new projects and migrate levels into it for final release. We should be able to keep working in the same project and engine should package only what’s used and their dependencies.
Is the actual workflow, i see this in a Official Live Stream of UE4, paper2d maybe, i dont remember, is not a more affortable workflow, but that is right to me, with streaming levels i never try with this.
I actually have a one project to make my mobile games (pre-configured in options, some BPs like MobileCharacter, MobileGameMode, etc), i clone this, and i migrate all over this template. It’s right when you work with UE4 free packages (like inffiniti assets) or with another, to explude unused contenct, this only migrate all used content in your map, but like i say, i never try this with streaming levels. maybe that work or you need select all levels to migrate, is the option.
If you don’t specify the maps to include it assumes everything is needed. Fill in the “List of maps to include in a packaged build” in Packaging Project Settings (expand the Packaging subsection). Make sure you have you startup map and any that you load or stream.