I’ll look into a few of these, but please remember that the free version is already more than three months old and v0.5.1 has a big optimization boost.Yes, that goes without saying. I've certainly been unhappy with build sizes of some Unity projects I've worked on, but nothing like what is happening here. Way outside of normal for Unity.
Some things to check:
-Textures are most likely larger than they need to be, and this is also likely affecting performance. They may be uncompressed. Not talking about the physical files in your project, but the texture import settings for each file (eg. "max size" and "format"). At the least, something (or things, most likely) are affecting performance rather dramatically. To be fully honest, even though a 16 GB build kind of sucks in and of itself, unless you're hurting for HDD space or trying to port to a more limited platform it doesn't matter much. I'd be significantly more worried that whatever is inflating my build size might also be contributing to poor performance.
-Similar thing for sound file import settings, but I doubt this would be the main culprit.
-I'm assuming none of your animations use one image per frame, but if they do, that can add up very quickly.
-I'm also assuming that none of your scenes are overly huge, although it is possible for garbage to accumulate in scenes. It also might be possible that you have, say, disabled GameObjects somewhere that reference unused assets so that those assets cannot be stripped.
-Are you including any scenes in your build that you don't need to? That would also cause otherwise unused assets to not be stripped.
-One thing to check is if some textures are non-power of 2, in which case depending on settings and context Unity may scale them behind the scenes to the next highest power of 2 resolution.
-If color variations on items are separate textures, and it seems that there are many variations, recoloring could be handled with a shader instead. It's technically possible to do this with only one texture, but imho the best way is to have a base texture and a "color map," where you use the red, green, blue, (and, if you really need four different color regions, because it's a bitch to work with, alpha) channels on the color map to create regions that can be recolored. Pretty straightforward to make this in shadergraph.
-If not done already, can try building with LZ4HC compression.
-You may have some unused built-in packages that you can remove. Just because you do not use these does not mean that they are stripped.
-Ditto for anything in your Resources folder.
The way how often the main character has been re-rendered and a therefore lot of the graphics re-loaded has been a problem in the current free version particularly, that will be fixed with that.
Also, most of your suggestions, if not all of them, are describing what I‘m already doing.
Thanks for the detailed list though.
I‘m just going to say one thing about texture size. For 3d games it might make sense to compress the textures but in a 2d game they have to be full size because that‘s the size they are displayed on screen and the game would immediately lose it’s crispness. It‘s playable in 4K and it the textures would be just 1k that would look pretty bad. They are all in a resolution that would be fully visible on a 4K screen. The import setting is just a „max resolution“.
In general i disagree with the notion that what‘s going on here is outlandish when it comes to disk space though. The amount of graphics is massive. You probably can‘t see that, but all the layers for clothes and such that are needed for so many body proportions and such is not small, as mentioned above. It may only be unusual because other games don‘t have such a big focus on character customisation in the first place. And yes, color variations are already based on a shader.
yes, v0.5.0 had some performance issues, but I don‘t think it‘s reasonable to complain about disk space usage here.
Last edited: