7Zip, lzma, LZ4, fastLZ, zip/gzip & brotli multiplatform plugins.

$29
Publisher A dog's life software
File size 25.23MB
Number of files 175
Latest version 2.9.2
Latest release date 2022-05-31 08:07:13
First release date 2013-11-15 09:19:10
Supported Unity versions 2018.4.2 or higher
This is a shared library for Android, iOS*, OSX, Windows, Linux and webGL** to decompress 7z (7zip) files and to compress/decompress zip/gzip (.zip/.gz), LZ4 (.lz4), brotli (.br), fastLZ files and buffers.

* ZIP plugin: iOS/tvOS compilation may require to add the -lz linking flag at Build Settings-> Linking- > Other Linker flags on xcode.

**webGL for flz,lzma & lz4 supports buffers compression/decompression only. Brotli supports buffer decompression. **webGL for zip supports all functions except those that require file system operations.

7ZIP section:

The library serves the scope to have fast decompression of 7z files and compress/decompress lzma files and buffers.

- The library does 7z decompression and not 7z compression.
Compression of lzma alone files is supported.
Passwords are not supported.

- It is about 2.5x times faster then using a c# implementation for 7z decompression.

- You can extract a single file out of the 7z archive.
- If you intend to decompress large files it would be better to use the largeFiles flag.(consumes less ram)
- You can extract the contents of the 7z file keeping its folder structure.
- Ability to get the filenames and file sizes of files in a 7z archive.
- get progress of extraction when the 7zip archive has multiple files.
- get byte level progress of 7z decompression (single or multiple files).
- get byte level progress of lzma compression/decompression.
- Ability to encode/decode to/from .lzma alone format.
- Ability to decode a specific file in a 7z archive to a byte buffer.
- Ability to decode/encode a byte buffer to/from the lzma alone format.**
- Ability to cancel the decompression when the 7z archive has multiple entries.
- Support for unmanaged IntPtr buffers as files. (iOS, Android, MacOSX, Linux)



ZIP section:

Fast zip/gzip/tar/bz2 compression and decompression with a clean and simple interface. Very easy to use. Well commented example and documentation.

The plugin is about 7x times faster in compression speed and 3x times faster in decompression speed compared to SharpZipLib.

- compress/decompress buffers to/from zlib/gzip streams.
- recursive directory compression/decompression.
- compress/decompress single files.
- encryption / decryption.
- append files to existing zip archives.
- compress a buffer and write it or append it to a zip archive.
- get file and size info of all the files or a specific file from a zip archive.
- extract a single file out of a zip archive.
- decompress a file of a zip archive to a byte buffer.
- delete an entry in a zip archive.
- replace an entry in a zip archive.
- get progress of extraction when the zip archive has multiple files.
- get byte level progress of compression (single or multiple files).
- create in Memory zip files and manipulate them from there.
- Support of split zip files compress/decompress (1.zip. 1.z01, 1.z02, ...)
- decompression of split zip archives (in the form of 1.zip, 1.z01, 1.z02, ...)
- ability to discover merged/hidden zip/gzip archives in files or buffers and extract from there.
- bz2/zlib compression-decompression methods. (bz2 method not available for MacOS/iOS/tvOS & webGL)
- buffers can be treated as files. That means if you have a file in www.bytes you can perform operations directly on the buffer.
- support for native file buffers to avoid memory spikes when decompressing from managed buffers.
- support for STORE method when setting level of compression to zero.
- ability to cancel most zip/unzip operations when they are called from a Thread.
- create/decompress gzip files.
- ability to create tar archives from directories or list of files with byte level progress.
- untar and untar entry support with byte level progress.
- compress/decompress of tar.gz, tar.bz2 with progress.
- create and decompress bz2 archives with progress.
- thread safe - utf8 support

LZ4 section:

Fast compression/decompression of files in LZ4 format.

- compress a file into a LZ4 file format.
- decompress an LZ4 file.
- compress a buffer into the LZ4 format.
- decompress an LZ4 compressed buffer into a buffer.
- support for native file buffers to avoid memory spikes when decompressing from managed buffers.

(The plugin provides a solution to store the uncompressed size of a compressed buffer in its footer.)

fastLZ section:

Fast compression/decompression of files in fastLZ format.

- compress a file into a fastlz file format.
- decompress a fastlz file.
- compress a buffer into the fastlz format.
- decompress a fastlz compressed buffer into a buffer.

- support for native file buffers to avoid memory spikes when decompressing from managed buffers.

brotli section:

Fast compression/decompression of files in brotli format.

- compress a file into a brotli file format.
- decompress a brotli file.
- compress a buffer into the brotli format.
- decompress a brotli compressed buffer into a buffer.
- support for native file buffers to avoid memory spikes when decompressing from managed buffers.
- WebGL supports brotli buffer decompression.

(The plugin provides a solution to store the uncompressed size of a compressed buffer in its footer.)

*On all platforms buffers can be treated as files.



The ios and OSX libraries are compiled as universal. That means that they will support 32 and 64 bit builds.

The Windows and Linux libraries are compiled for x86 and x86_64 build modes.

The Android lib is compiled for armeabi-v7a, x86 and arm64-v8a.

Support email: [email protected]
Support forum: SupportForum

Top Publisher Assets