アセットバンドルは基本的には、順番に並んだファイルの一つにグループ化された、ひとまとまりのオブジェクトです。アセットバンドルは、データファイルとして配置され、通常のバンドルかシーンバンドルかによってわずかに構造が異なります。
両タイプとも同じ方法でアーカイブ、圧縮されます。
ArchiveFileSystem コンテナは以下のような構造です。
上の図の圧縮ブロックは、チャンクかストリームごとに圧縮されています。チャンク圧縮 (LZ4) では、オリジナルデータが同じサイズのひと固まりずつ (サブブロック) に分けられ、それぞれが別々に圧縮されます。リアルタイムで解凍したい場合は、この方法を使用します。なぜなら、ランダムリードオーバーヘッドが小さいからです。ストリーム圧縮 (LZMA) は、すべてのブロックを処理するのに、同じ dictionary を使用します。この方法は、最も高い圧縮率で処理できますが、シーケンシャルリードしかサポートしません。