Some time ago, I had the goal to optimize the memory usage of my game.

I had just too much content to fit in RAM.

So the natural way to go was the addressables route.

After putting some great effort into learning the system, I got a rock-solid system up and running. The result was a 50% memory usage reduction. Not bad.

But I was just barely scratching the surface of Addressables. There was so many features I was missing out.

So I went through all Addressable settings I could find.

One instantly caught my attention: the asset bundle compression mode.

Interesting, this will prove to be useful, I said to myself.

There I clearly saw the opportunities Unity gave me. Unity gave me a powerful tool I could use to work on two crucial variables: storage size and CPU performance.

The three compression modes Unity offers you are: Uncompressed, LZ4 and LZMA.

I was intrigued. I really wanted to see what difference each mode did in real-life.

However, at the same time, I couldn't stop asking myself... is paying attention to this really worth my time?

Of course, the lack of Addressables documentation from Unity's side was to be expected. Busy developers, busy times. So as it often happens with Addressables, I couldn't count on them.

But in spite of the time investment, here's the deal: I decided I would make the research worth. I decided to make a benchmark to understand the real-world implications of Unity addressables compression modes.

And today I'll share with you the results of my investigation and my thoughts on the subject.