com.unity.sharp-zip-lib
is a package that wraps SharpZipLib to be used inside Unity,
and provides various compression/uncompression utility functions.
Currently, this package uses SharpZipLib v1.3.3. Please refer to the installation page to install this package.
The version numbering of this package itself and the version of SharpZipLib used in the package may look similar, but they are not related.
-
All SharpZipLib APIs are available under
Unity.SharpZipLib
namespace. For example:using System.IO; using Unity.SharpZipLib.GZip; ... public void UseSharpZipLibAPIs() { MemoryStream ms = new MemoryStream(); GZipOutputStream outStream = new GZipOutputStream(ms); ... }
Please refer to the API documentation of the SharpZipLib version used in this package for more details.
-
In addition,
com.unity.sharp-zip-lib
also provides additional utility APIs:ZipUtility.CompressFolderToZip()
: Creates a zip file on disk containing the contents of the nominated folder.ZipUtility.UncompressFromZip()
: Uncompress the contents of a zip file into the specified folder.
As an example:
static void CompressAndUncompress() { //Compress string folderToCompress = "Assets"; string zipPath = Path.Combine(Application.temporaryCachePath, "UnityAssets.zip"); ZipUtility.CompressFolderToZip(zipPath,null, folderToCompress); Debug.Log($"{folderToCompress} folder compressed to: " + zipPath); //Uncompress string extractPath = Path.Combine(Application.temporaryCachePath, "UnityAssetsExtracted"); ZipUtility.UncompressFromZip(zipPath, null, extractPath); Debug.Log($"Uncompressed to: " + extractPath); }
- Unity
2021.3.45
or higher.
- Visual Studio 2022 (17.19.1) or later
- Check ".Net desktop development" during the installation of Visual Studio
- Make sure that .Net SDK 8.0 is installed as follows:
- Open "Developer Command Prompt for VS 2022"
- Type:
dotnet --list-sdks
- Download the source from https://github.com/icsharpcode/SharpZipLib/releases
- Extract the source into a folder, e.g:
Src/SharpZipLib-1.3.3
- Open "Developer Command Prompt for VS 2022"
- Execute
update_sharp-zip-lib.cmd [src_folder]
- E.g:
update_sharp-zip-lib.cmd Src/SharpZipLib-1.3.3
- Executing
update_sharp-zip-lib.cmd
without arguments will print the list of acceptable arguments
- E.g:
- Execute
- Open SharpZipLib~ test project, ensure everything compiles and the tests are successful.
- We may need to fix/remove some tests that were copied from the source. For example: async tests which are not supported in Unity 2018 and earlier.
- Open a shell / Git Bash / terminal
- Execute
sh Scripts~/clean_up_cs.sh
to clean up cs source code.
- Execute
Auto-generated on Thu Dec 19 08:01:25 UTC 2024