Process

Cut Your Unity Build Size in Half Without Losing Art Quality

Build size costs you installs, and most of it is import settings rather than art. Here is how to find what is actually large and halve it without anyone seeing the difference.

Vectra Play 6 min read
Lines of code on a dark screen

Most oversized Unity builds are large because of import settings, not art. Textures shipped at source resolution, uncompressed audio, unstripped engine code, and unused shader variants usually account for the bulk. Fixing those four is invisible to players and routinely halves a build.

Why this matters

Install size affects conversion directly. Every extra megabyte gives someone on a slow connection or a full phone another reason to abandon the download.

Mobile stores also enforce thresholds above which users are pushed to wait for a better connection. Crossing one of those lines quietly costs installs you never see in the funnel.

Size affects your own iteration too. Larger builds are slower to make, slower to upload, and slower to get onto a test device.

Find what is actually big

Guessing wastes days. Unity tells you exactly where the size went.

Build the project, then open the Editor log and find the build report at the end. It lists assets by size and by percentage of the total.

  1. Sort by size and look only at the top twenty entries.
  2. Group them mentally into textures, audio, meshes, and code.
  3. Note anything you did not expect to be in the build at all.

That last point catches more than people expect. Unreferenced assets in a Resources folder ship whether or not anything uses them.

The top twenty assets usually account for most of the excess. Fix those before touching anything else.

Texture compression by platform

Textures are almost always the largest category, and almost always the easiest win.

Work through these in order.

Quality loss here is far smaller than founders fear. A texture at half resolution on a phone screen is usually indistinguishable at arm's length.

Audio import settings people forget

Audio is the most commonly ignored category and frequently the second largest.

Different sounds want different settings, which is why a single global change rarely works.

Sound typeLoad typeCompression
Short effectsDecompress on loadCompressed in build, moderate quality
Repeated effectsCompressed in memoryCompressed, lower quality is fine
Music and long loopsStreamingCompressed, higher quality
Voice or narrationStreamingCompressed, tuned by ear

Two extra settings matter. Force To Mono halves the size of anything that does not need stereo, which includes most effects on a phone. Lowering the sample rate on effects is usually inaudible through a phone speaker.

Stripping engine code and IL2CPP settings

Code size is invisible in the asset report and can be a large share of the total.

Shader variants deserve their own mention. An unconstrained shader can compile an enormous number of variants, all shipped. Restricting keywords and stripping unused variants often removes a surprising amount, and improves load time as well.

Addressables and on-demand delivery

Once the basics are done, the next lever is not shipping everything at once.

Addressables let you move content out of the initial build and fetch it when needed. Level packs, cosmetic sets, and later-stage content are natural candidates.

The trade is real complexity, so it is worth being deliberate about when to take it on. We compare the options in Addressables or Asset Bundles.

Both stores also support delivery mechanisms that keep the initial download small while the rest arrives in the background. These are worth using once your content volume genuinely justifies them, and worth avoiding while it does not.

A realistic target size by genre

Targets should come from your audience rather than a general rule.

Set the number in week one and track it per build. Size creeps back the moment nobody is watching it.

What we would do

Run the build report before the first external test, not before launch. Size problems found late are usually architectural, and architectural fixes are expensive.

Fix in this order: texture maximum sizes, audio import settings, unreferenced assets, then code stripping. That order gives the largest reductions for the least risk, and none of it changes the game.

Then add a size check to whatever produces your builds, so a build that crosses the target is visible immediately rather than three weeks later.

The short version

Pull your build report today and look at the top twenty assets. If the number is worse than you expected and you would like help, send us the project.

Related reading: Unity Mobile Performance, Shipping on Android, and Nine Unity Packages That Are Worth the Import.

#Unity#Mobile#Process#Art
Your turn

Got a game idea? We build it.

You bring the concept. We design, build, test and launch it, and you own 100% of the finished game.

Share Your Game Idea  →