I figured this would be the best section to post this in.
I’ve been struggling for a couple days now with a rather frustrating problem. I’m working on a very simple visualization for a client in 4.13 that uses about 5MB of data and has one very basic blueprint in it. However, after packaging the file, the package is more than 200MB’s.
To isolate the possibility of having made heavy assets, I created an empty project without starter content in it and removed everything from the default level. Still, when packaging the empty project it was a massive 170MB’s.
I spent three days now looking for ways to reduce this. I checked all the correct boxes, disabled all plugins, read all the documentation about package sizes and spent ages reading topics about this. Unfortunately none provided a solid answer on how to reduce this without requiring you to posses a comprehensive skillset in C++ to rewrite some core programming of the engine, which I simply can’t. Hence I’m using blueprints.
Eventually I managed to shrink it down to about 115MB, but it’s still way too large for an empty project. Especially considering the Tappy Chicken game is only about 15MB. I want to use this engine to send interactive concepts to a client. There’s no client in the world who’d want to bother hauling in several hundreds of MB’s for each and every little tweak there has been made. Especially if they want to view it on their phone. 200MB is simply not done.
After some digging I noticed that by default all of the engine’s content seems to be packed together with the game. The cooking log mentions files being cooked such as primitive objects, VR assets, materials and even tutorial files! I can only imagine that this is the culprit but I have no clue on how to prevent these unnecessary assets from packaging. You can only exclude folders from within the project’s own content folder. With the little documentation around about this, I’m pretty much begging anyone to ask if they have a way to fix this. I simply don’t understand why these assets are all packed in the first place. Especially the tutorial files.
I usually migrate all of my maps over to a new project (a cloned one to keep all of the settings), only dependant content will be brought over, if you haven’t built your project with this in mind then you’ll have to be careful that you got everything. I usually have a few ‘Assets maps’ of any content not being used directly in those levels.
Would be great if there were other options, but this is the only one I know of
Thanks for your reply.
For existing projects this would indeed be a good method, but the problem is that even a completely blank project already passes 100MB’s without a single line of code or asset. So there’s something hidden underneath that bloats the packaged project size by default.
That’s where the problem is. As you can see there are loads of items that aren’t necessary for an empty “game” that only shows black when opened.
It seems like disabling the plugins only turns them off but doesn’t actually remove them from the equation when the game is packaged. Because for example, despite turning off any VR related plugins, I still see content related to Oculus VR packed with it.
Besides, Epic games themselves managed to make a 15MB game with Tappy Chicken, so there must be a way to get rid of all the unused engine features.
For an engine that advertises visualization as one of the core possibilities, it’s hard to use it for that purpose if the initial filesize already exceeds hundreds of MB’s.
Just had a look at tappy chicken and the packaged result is still 223MB, I know f’all about packaging a game for retail but maybe they went through and removed all of that unwanted clutter before packaging, or there may be some tool needed to ‘Compile’ everything essential into an installer.
While trying to figure out what they did different I noticed a 44MB difference in file sizes between a development/shipping package modes if that helps :\
tbh, I’m not qualified at all, but now I want to know the answer as much as you do, I’ll look into it some more tomorrow, now it’s be time