As a developer, nothing raises an eyebrow like a patch that goes in the opposite direction-shaving massive chunks off the install size. A reduction this large isn't magic; it's the result of deliberate engineering across content pipelines, compression toolchains. And patching infrastructure. When Marvel Rivals announced its next update would cut the game's footprint by up to 40 GB on PC and consoles, the engineering community paid attention. For a live-service hero shooter built on Unreal Engine 5, this isn't merely a quality-of-life improvement; it's a case study in game DevOps maturity and aggressive install size optimization.
Many live-service games suffer from perpetual storage bloat. Each content season adds new maps, heroes, and cosmetics. And old assets rarely get removed cleanly. Over time, the disk budget balloons, frustrating players on capped console SSDs and mobile devices. But exactly how does a team ship a patch that reduces the Marvel Rivals install size by 40 GB without nuking half the game? In this analysis, we'll examine the pipeline of asset compression, chunk packaging, delta generation, and storage management that likely enabled this feat. And extract lessons every game DevOps team can adopt to reduce game install size.
From my experience building CI/CD pipelines for Unreal‑based multiplayer titles, a change this dramatic rarely comes from a single optimization. It's layers-texture re-encoding, redundant asset clean-up, smarter chunk tiering,. And and possibly a rearchitected patching systemWe'll explore each layer with specific tooling, the trade‑offs involved. And concrete steps for achieving similar results in your own pipelines. Buckle up; we're going straight into the engineering engine room.
The 40 GB Anomaly: Why Game Installs Balloon In The First Place
To appreciate the 40 GB reduction, we must first understand what causes a game like Marvel Rivals to balloon beyond 100 GB. Modern hero shooters ship with thousands of high‑resolution textures, complex skeletal meshes, cinematic audio banks. And localization assets. Each new seasonal event often introduces limited‑time maps or skins. And those assets rarely get discarded entirely due to the risk of breaking dependencies. In Unreal Engine, unused assets can still be referenced by data tables, blueprints. Or redirectors-leading to bloat that survives build after build.
Furthermore, the shift to Unreal Engine 5's Nanite and Lumen features demands larger geometry and lighting data. A single map can contain Hundreds of megabytes of auto‑generated Nanite clustered data and reflection captures. When you support cross‑platform play across PlayStation, Xbox. And PC, those assets are often duplicated for different quality tiers. Without a rigorous game asset compression and chunking strategy, the "on‑disk" size quickly outpaces the actual visual fidelity delivered to players. The 40 GB cut is a signal that NetEase's engineering team conducted a thorough cleanup and repackaging effort-something many live‑ops teams postpone because it's risky.
In my own production environments, I've seen a team slash install size by 30% simply by removing deprecated runtime virtual texture caches that were still being cooked. It's never glamorous. But it's exactly this kind of systemic hygiene that yields massive savings. With Marvel Rivals hitting its stride, the decision to invest engineering time into a shrink patch rather than just pushing new content shows a mature approach to Game DevOps.
Asset Bundles And Containerization Strategies In Unreal Engine
Most Unreal Engine titles package assets into pak files-encrypted container files that can be mounted and loaded on demand. The size of these containers is dictated by what gets chunked together. Poorly planned chunk assignments can cause a single pak to hold 10 GB of rarely‑used audio, preventing the patching system from updating smaller slices. NetEase likely reorganized its chunking scheme, separating high‑churn seasonal cosmetics from permanent core assets. So that the base install could be dramatically slimmed down without affecting runtime logic.
Unreal's ChunkDownloader system allows games to split content into numbered chunks and deliver them via dynamic streaming. If Marvel Rivals adopted a smart chunk streaming model, they might have moved large hero models or high‑resolution texture streamer mode data into optional download packs. That lets the base install to be a fraction of the size. While power users can opt‑in for 4K assets. This kind of containerization strategy is central to any effort to reduce game install size, especially on platforms with strict storage caps.
Additionally, the team may have deprecated old chunk IDs and consolidated assets into fewer, better‑compressed volumes. In a previous project, we cut 15 GB by merging per‑hero paks that shared textures into a single combined container, eliminating duplicate mip levels. It's likely Marvel Rivals undertook a similar refactor, possibly migrating from a monolithic packaging structure toward a more modular manifest‑driven system that aligns with ongoing game storage management practices.
Texture Compression And Oodle Kraken Workflows That Shrink Pixels
Textures are the heavyweight champion of game bloat. Unreal Engine 5 supports a vast surface of texture formats and compression algorithms, including Oodle Texture. Which can reduce GPU‑ready compressed texture sizes by 20-30% over traditional block compression. When a patch claims a 40 GB reduction, I immediately suspect a mass re‑encode of texture assets using Oodle Texture Compression profiles that better exploit BCN/RDO encoding. NetEase could have revised their cook settings to produce smaller uasset payloads without perceptible quality loss.
Another lever: decoupling streaming textures from the base package. Unreal's texture streaming pool can be configured to reference external utexture files. By moving high‑resolution textures to dedicated downloadable packages, the base install size shrinks significantly. While the engine streams in detail textures as needed. This approach aligns with modern video game compression techniques that treat assets as data graphs rather than static blobs. I've personally seen a title reclaim 25 GB just by re‑importing textures with non‑default Oodle presets and enabling BC7 prep on PS5 and PC.
Texture LOD (level‑of‑detail) management also plays a role. If earlier builds shipped with redundant top mip levels for mobile preview platforms that were never used, removing those mips saves massive space. A sophisticated game asset compression pipeline automatically strips unreferenced mips during cook, and I suspect Marvel Rivals' engineers finally tightened that process. The result: a leaner, meaner texture footprint that contributes directly to the Marvel Rivals 40 GB update improvement.
Delta Patching, Binary Diffing. And The Patch Size Equation
A 40 GB reduction in total install size doesn't mean the patch is 40 GB-often the delta update is far smaller. But to achieve such a full‑size cut, the patching infrastructure must support binary diffing across chunks. NetEase likely invested in a robust patch size reduction system that compares old and new pak files at the block level, generating tiny incremental patches. Tools like bsdiff, Courgette. Or custom implementations based on Unreal's patching utilities can produce deltas that are mere percentages of the changed data.
However, when you reorganize chunks and re‑encode textures globally, you risk making every versioned asset appear "new" to the diff engine, forcing a massive delta. The engineering challenge is to structure the build so that assets stable across seasons stay chunked together and retain consistent file offsets. I've run into this trap when switching compression algorithms mid‑season-every single pak changed. And a 2 GB patch ballooned to 30 GB. Marvel Rivals seems to have navigated this by carefully ordering the cleanup before the content update, perhaps delivering the shrink as a one‑time "clean install"‑style patch that still allowed an in‑place update with minimal download time.
For any Game DevOps team, implementing a deterministic build pipeline with controllable
.If you have any questions, please don't hesitate to Contact Me.
Back to Blog