Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] zip / gzip native multiplatfrom plugin

Discussion in 'Assets and Asset Store' started by elias_t, Jul 8, 2015.

  1. Deleted User

    Deleted User

    Guest

    When I run on Unity Editor, it can decompresses the zip file in the StreamingAssets folder. However, I am getting the error code -1 on Android. Why? I am using this function:

    Code (CSharp):
    1. lzip.decompress_File(Application.streamingAssetsPath + "/Crossword_Packages/EN/Crossword_Package_1&1.zip", Application.persistentDataPath + "/crosswords/EN/")
     
  2. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.
    Android uses files inside a compressed APK/JAR file, "jar:file://" + Application.dataPath + "!/assets".

    To read streaming Assets on platforms like Android and WebGL , where you cannot access streaming Asset files directly, use UnityWebRequest. For an example, see Application.streamingAssetsPath.

    (From here: https://docs.unity3d.com/Manual/StreamingAssets.html)

    That means that you should load the file from the streaming Assets to a buffer and then decompress the buffer.
     
  3. Deleted User

    Deleted User

    Guest

    elias helped me. Thanks a lot. If anyone had an issue in Android, this code will help you.

    Code (CSharp):
    1.     public static void unzipFromStreamingAssets(string zipPath, string extractionPath) {
    2.         using (UnityWebRequest www = UnityWebRequest.Get(zipPath)) {
    3.            
    4.             UnityWebRequestAsyncOperation async = www.SendWebRequest();
    5.            
    6.             while (!async.isDone){}
    7.  
    8.             if (www.error != null)
    9.             {
    10.                 Debug.LogError("Zip request error: " + www.error);
    11.             } else {
    12.                 int zres = lzip.decompress_File(null, extractionPath, null, www.downloadHandler.data);
    13.                 Debug.Log("zres zip expand code: " + zres.ToString());
    14.             }
    15.         }
    16.     }
    17.  
    18.  
    In iOS you can use lzip class directly. Here is the code:
    Code (CSharp):
    1.                 int zres = lzip.decompress_File(Application.streamingAssetsPath + "/test.zip", Application.persistentDataPath + "/");
    2.                 Debug.Log("zres code: " + zres.ToString());
     
    elias_t likes this.
  4. Splendidus

    Splendidus

    Joined:
    Aug 6, 2014
    Posts:
    5
    Hello. Is there a way to get a list of entries in a zip archive? I can't find such function in the documentation... I see "getTotalEntries" but it shows only amount of entries.
     
  5. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.

    There are the public static lists (ninfo, cinfo, uinfo that get filled after you call lzip.getFileInfo on a zip file)
    ninfo: name of file.
    cinfo: compressed size
    uinfo: uncompressed size.

    Code (CSharp):
    1.  lzip.getFileInfo(ppath + "/testZip.zip");
    2.  
    3.         // Look through the ninfo, uinfo and cinfo Lists where the file names and sizes are stored.
    4.         if (lzip.ninfo != null) {
    5.             for (int i = 0; i < lzip.ninfo.Count; i++) {
    6.                 log += lzip.ninfo[i] + " - " + lzip.uinfo[i] + " / " + lzip.cinfo[i] + "\n";
    7.             }
    8.         }
     
  6. thorikawa

    thorikawa

    Joined:
    Dec 3, 2013
    Posts:
    25
    @elias_t Hello, do you have a plan to support MagicLeap (Lumin) platform?
     
  7. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello. I will take a look and I will inform you.

    Have you tried with the Linux plugins?
     
  8. lumigames

    lumigames

    Joined:
    Oct 12, 2015
    Posts:
    1
    Hey! I'm trying to run my unity ios app on a simulator. I have replaced libzipw.a to the one from libzipw.a-simulator but still can't run it cause
    The linked library 'libzipw.a' is missing one or more architectures required by this target: x86_64.
    Any advice? Thanks
     
  9. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello. Let me check this and I will report back.
     
  10. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Update version 1.8.4

    - Fixed some preprocessor issues that caused compilation errors on some platforms.
    - The setPermissions function was accidentaly removed in a previous update. Now reinstated.
    - Fixed date issues when extracting zip archives on unix operating systems.
     
  11. TonismoGames

    TonismoGames

    Joined:
    Jun 12, 2018
    Posts:
    111
    @elias_t
    Hi, I been looking through the .zip doc and I can't find a method to initially create a zip file. I found buffer2File, does that create a zip file if none exists?
     
  12. TonismoGames

    TonismoGames

    Joined:
    Jun 12, 2018
    Posts:
    111
    Code (CSharp):
    1.         static void SaveToZip(string stringdata, string entryname, string zipfilepath)
    2.         {
    3.             try
    4.             {
    5.                 Debug.Log("Saved entry" + entryname);
    6.                 if(!File.Exists(zipfilepath))
    7.                     lzip.buffer2File(9, zipfilepath, entryname, Encoding.ASCII.GetBytes(stringdata), false, null, ZipSaveFileName);
    8.                 else if (lzip.entryExists(zipfilepath, entryname))
    9.                     lzip.buffer2File(9, zipfilepath, entryname, Encoding.ASCII.GetBytes(stringdata), true, null, ZipSaveFileName);
    10.                 else
    11.                     lzip.replace_entry(zipfilepath, entryname, Encoding.ASCII.GetBytes(stringdata), 9, ZipSavePassword);
    12.             }
    13.             catch (Exception e)
    14.             {
    15.                 Debug.LogError(e);
    16.             }
    17.         }
    I have a problem running this inside a while loop. Somehow data gets corrupted. When I run it as a single call ,it works find.
     
  13. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.

    There are various functions to create zip files in the file system or in memory.

    Code (CSharp):
    1.  
    2. int compress_File(int levelOfCompression, string zipArchive, string inFilePath,boolappend=false, string fileName="", string comment=null, string password = null, bool useBz2= false, ulong[] byteProgress = null);
    3.  
    4. /*A function that compresses a file to a zip file. If the flag append is set to true then it will get appended to an existing zip file. This function is slow when appending many files. Use compress_File_List instead.*/
    Code (CSharp):
    1. int compress_File_List(int levelOfCompression, string zipArchive, string[] inFilePath, int[] progress = null, bool append=false, string[] fileName=null, string password = null, bool useBz2 = false, ulong[] byteProgress = null);
    2.  
    3. /*A function that compresses a list of files to a zip file. Use this function to compress multiple files fast instead of appending to existing files with the compress_File function.*/
    Code (CSharp):
    1. int compressDir(string sourceDir, int levelOfCompression, string zipArchive, bool includeRoot = false, string password = null, bool useBz2 = false, ulong[] byteProgress = null);
    2.  
    3. /*Compress a directory with all its files and subfolders to a zip file. This function is way fasterwhen adding manually multiple files to a zip with the compress_File function.*/
    4.  
    The demo script covers all the scenarios.
     
  14. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Please send me a pm with your while loop so I can debug this.
     
    TonismoGames likes this.
  15. hhwang_unity

    hhwang_unity

    Joined:
    Mar 30, 2021
    Posts:
    1
    fp = Marshal.StringToCoTaskMemAuto(inFilePath);

    This part cannot be passed during Android build. It works well at Unity.
    Unity 2018.4.36f1
    Is there a solution?
    The save method uses the method of putting data into a directory and compressing the directory to save/load it.
     
  16. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello. It is a Unity issue. They fixed this in some other version. I don't remember now which one though.
    I will check more on this and get back to you.
     
  17. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    OK. I found the issue tracker and the fix that starts from Unity 2019.2.x: https://issuetracker.unity3d.com/is...hal-dot-stringtoallocatedmemoryutf8-on-il2cpp

    I will try to add a workaround for the previous versions.

    Edit: Workaround found. Making some tests first and then I will send you the fix via private message.
     
    Last edited: Jun 30, 2021
  18. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    update version 1.8.5

    - Fix for Marshal.StringToCoTaskMemAuto -> Marshal.StringToHGlobalAuto on Unity 2019.3 or older (il2cpp Android)
    - MacOS bundle BigSur. Optional silicon support via zipped .bundle (MacOS 10.9 minimum)
     
  19. Holon777

    Holon777

    Joined:
    Sep 29, 2012
    Posts:
    28
    Is Universal Windows Platform supported?
     
  20. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Not right now.
     
  21. Splendidus

    Splendidus

    Joined:
    Aug 6, 2014
    Posts:
    5
    Thank you for your asset! )

    I have a small question. Is there a way to zip a directory to a buffer? I found only compressDir which is compressing only to a file.
     
  22. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.
    I would use the in-memory zip creation method to do this but you would have to create your own routine to add the whole directory.
    In a next update I will add this.
     
    Splendidus likes this.
  23. catfink

    catfink

    Joined:
    May 23, 2015
    Posts:
    176
    - MacOS bundle BigSur. Optional silicon support via zipped .bundle (MacOS 10.9 minimum)

    How do I get this to work if I am building for OSX intel64 + apple silicon as I can't have both bundles unpacked at the same time as they clash?
     
  24. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    I will add a fix for this.
     
    catfink likes this.
  25. evi1m3

    evi1m3

    Joined:
    Feb 26, 2015
    Posts:
    1
    Hi,

    I encountered a bug that delete_entry is not working. The same parameters that are used to compress_File are not working for delete_entry.

    Example:
    lzip.compress_File( "test.zip" , sSource + "preview.jpg" , true , "preview.jpg" ); // working
    lzip.delete_entry( "test.zip" , "preview.jpg" ); // NOT working


    I tested and I get this file in zinfo list with
    lzip.getZipInfo( "test.zip" ).


    I urgently need this fix.

    Thank you
     
    Last edited: Aug 25, 2021
  26. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello. I will check this and get back to you.

    Please send me in a private message your testing OS, unity version etc.
    Thank you.
     
  27. catfink

    catfink

    Joined:
    May 23, 2015
    Posts:
    176
    Awesome - thankyou
     
  28. jeremy_unity580

    jeremy_unity580

    Joined:
    Aug 24, 2021
    Posts:
    1
    Hi, I'm encountering bit of a strange issue.

    I'm using Unity 2021.1.16f1 to build an iOS app with Xcode 12.5.1 and added version 1.8.5 of gzip to the project, and now Xcode throws an error message:

    libionzlib.a(crc32.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64


    Bitcode was previously enabled for the project in Xcode, and I've tested creating a blank Unity project using the previous mentioned plugin libionzlib.a and that successfully builds in Xcode with bitcode enabled, until the gzip package is added to the Unity project, and then the generated Xcode project throws the error.

    Has anyone encountered a similar issue? Does gzip modify a Xcode project in a post build step?
     
  29. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.

    libionzlib.a is not a part of this plugin.
     
  30. faziii

    faziii

    Joined:
    Jun 11, 2019
    Posts:
    17
    Getting this error when trying to build for webgl
    Code (CSharp):
    1. lzip' does not contain a definition for 'decompress_File'
    any solution?
     
  31. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.

    Please test with the Assets/ADL-Plugins/zip/webGLtvOS-Test/testWebGLtvOS.unity scene.

    The WebGL part of the plugin uses only a subset of the plugin.
    Investigate the testWebGLtvOS.cs script for the implementation.
     
  32. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Update version 1.9

    - Critical Fix for the delete_entry functions.
    - Added MacOS bundles: Intel only, Silicon only, Universal (Intel + Silicon)

    (The plugin is uploaded now with Unity versions: 2018, 2019, 2020, 2021. If anyone needs it for 2017 or Unity 5.6 please message me with your invoice number.)
     
    theolagendijk likes this.
  33. rishabh2_unity

    rishabh2_unity

    Joined:
    Sep 24, 2021
    Posts:
    1
    Hi! Thanks a lot for the plugin, it's awesome for my needs too - I'm also looking for the UWP ARM64 binary for hololens
     
  34. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.

    The Uwp plugins are not a part anymore of the package because they do not pass the Microsoft Store certification. (There are many crt functions.)

    If you do not want to use the plugin in a Microsoft Store published app I could send you the binaries.
     
  35. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Update version 1.9.1

    - Added Android x86_64 plugin to support Chrome OS (2020 and 2021 versions).
     
  36. umeshambaliya78

    umeshambaliya78

    Joined:
    Nov 10, 2017
    Posts:
    4
    Hey elias,

    I have purchased your package and i am trying to decompress zip file downloaded from server (150mb+) using UnityWebRequest. While i am trying to decompress it, it uses lots of memory(2GB+). this is the reason why my game is crashing. can you suggest any solution how to release that used memory? This issue is only occurs in iOS devices and Samsung devices.

    Thank you.


    var savePath = Path.Combine(Application.persistentDataPath, "Level10.zip");
    int xx = lzip.decompress_File(savePath, Application.persistentDataPath, null, webRequest.downloadHandler.data);
     

    Attached Files:

  37. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.
    I have send you a private message.

    I am looking into this.
     
  38. umeshambaliya78

    umeshambaliya78

    Joined:
    Nov 10, 2017
    Posts:
    4

    Thanks
     
  39. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    update version 2.0 [Significant fileBuffer update]

    - Added a custom download function, to download a file to a native (unmanaged) memory buffer.

    - IntPtr (native memory buffers) and inMemory lzip class can be passed now as a file Buffer. This allows avoiding memory spikes when handling large zip files in memory.

    - Gzip file functions return -8 now on cancel.
     
    Last edited: Feb 9, 2022
  40. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    update version 2.1

    - Updated WebGL plugin for Unity 2021+
    - Native buffer examples updated because dropbox would not allow the webrequest function to work properly.
    - CompressDir function: fixed an issue where the inplace zip creation (without adding a custom output file) would truncate the last character.
    - Removed Linux x86 plugin for Unity 2019+ (no longer supported by Unity)
    - Added Android x86_64 plugin for Unity 2019+
    - Removed Windows x86 plugin for Unity 2021+ (no longer supported by Unity)
     
  41. Nesit

    Nesit

    Joined:
    Dec 24, 2019
    Posts:
    8
    Hello, I'm interested in purchasing this asset for my editor utility.

    Is it possible to create smooth compression process in Unity Editor Window? Zip archive. I was able to create sync operation with other solutions, but editor freezes for entire process. I would like to be able to show animated loader while compression is in progress, without freezes, and also show progress status, in %, is that possible?
     
  42. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.

    Yes you can use it the way you want using a separate thread.
    Where applicable the functions provide byte level progress. So to get the percentage is just a matter of a division.

    You can download the pdf docs in the first page of this thread for more.

    Regards.
     
    Nesit likes this.
  43. ina

    ina

    Joined:
    Nov 15, 2010
    Posts:
    1,080
    Hey I'm wondering if there is a reduced upgrade cost from the zip asset to the 7zip asset(?)
     
  44. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello
    Yes there is.
    If you bought the zip plugin, you can get the 7zip+others at half the price.
     
  45. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    update version 2.1.1

    - Updated the WebGL demo script to work correctly with NativeFileBuffers. (On Unity2022.x+ you should enable http connection for the demo)
     
  46. AviarLabs

    AviarLabs

    Joined:
    Jun 26, 2017
    Posts:
    8
    Hello. My project is in Unity 2020.3.34f1, on an M1 iMac running Monterey 12.3.1. I am using the plug-in which works flawlessly in the Editor but when I build to OSx I am not able to decompress with the following errors...

    Fallback handler could not load library...

    /Contents/Frameworks/MonoEmbedRuntime/osx/libzipw
    /Frameworks/MonoEmbedRuntime/osx/libzipw.dylib
    /Frameworks/MonoEmbedRuntime/osx/libzipw.so
    /Frameworks/MonoEmbedRuntime/osx/libzipw.bundle
    /Frameworks/MonoEmbedRuntime/osx/libzipw
    /Frameworks/MonoEmbedRuntime/osx/libzipw
    /Frameworks/MonoEmbedRuntime/osx/libzipw.dylib
    /Frameworks/MonoEmbedRuntime/osx/libzipw.so
    /Frameworks/MonoEmbedRuntime/osx/libzipw.bundle
    /Frameworks/MonoEmbedRuntime/osx/libzipw
     
  47. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello. Are you building for Silicon?
    If so you should replace the existing .bundle with the zipped one named libzipw.bundle-Silicon.zip.
     
  48. MarblXR70

    MarblXR70

    Joined:
    Sep 3, 2017
    Posts:
    3
    Hello,

    The latest plugin version 2.1.1 was working great when using Unity 2020.3, but it does not seem to build for WebGL using Unity 2021.3.1f1.

    Just started a new project, imported your asset and tried to build for WebGL raised the following error:

    Building Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js failed with output:
    wasm-ld: error: Assets/ADL-Plugins/zip/Plugins/WebGL/zipw.bc: machine type must be wasm32 or wasm64
    emcc2: error: 'C:/Unity/2021.3.1f1/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/Emscripten/llvm\wasm-ld.exe -o Library/Bee/artifacts/WebGL/build/debug_WebGL_wasm/build.wasm C:\Users\marti\AppData\Local\Temp\tmp8v7hazl6GameAssembly.a C:\Users\marti\AppData\Local\Temp\tmp_b2tblgqWebGLSupport_AccessibilityModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpk21j6y57WebGLSupport_AIModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpllucle3iWebGLSupport_AndroidJNIModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpmu54tltvWebGLSupport_AnimationModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmphehrzk0eWebGLSupport_AssetBundleModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpijih2mssWebGLSupport_AudioModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp6usrj_oaWebGLSupport_ClothModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp5tamgm8wWebGLSupport_CoreModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp5wwj5cthWebGLSupport_CrashReportingModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp3icbxeehWebGLSupport_DirectorModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpygu23nk_WebGLSupport_DSPGraphModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpdcad5nzuWebGLSupport_GameCenterModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpmswsv6lwWebGLSupport_GIModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpl465c5s6WebGLSupport_GridModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp1xgdnt0cWebGLSupport_HotReloadModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpsujvl0nuWebGLSupport_ImageConversionModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp9sx4pokuWebGLSupport_IMGUIModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpcd3an7e4WebGLSupport_InputLegacyModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp8sx0zf2cWebGLSupport_InputModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpdgwv5u48WebGLSupport_JSONSerializeModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpl555s6tgWebGLSupport_LocalizationModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp61rstui5WebGLSupport_ParticleSystemModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpbpggvs73WebGLSupport_PerformanceReportingModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpu4ocsyn2WebGLSupport_Physics2DModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpq_9paf2eWebGLSupport_PhysicsModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp6fnu0v3dWebGLSupport_ProfilerModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpapj68yhuWebGLSupport_RuntimeInitializeOnLoadManagerInitializerModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpqn69mwtmWebGLSupport_ScreenCaptureModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpoh7yzpyoWebGLSupport_SharedInternalsModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpoqu9cn50WebGLSupport_SpriteMaskModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp_n_mcbclWebGLSupport_SpriteShapeModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpdeyf1j3gWebGLSupport_StreamingModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpc0ao213pWebGLSupport_SubstanceModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpka406nzsWebGLSupport_SubsystemsModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp5mt9ah6rWebGLSupport_TerrainModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpbpi58tdiWebGLSupport_TerrainPhysicsModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmprlhpztzdWebGLSupport_TextCoreFontEngineModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpnr1ac8z9WebGLSupport_TextCoreTextEngineModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpv39x04vbWebGLSupport_TextRenderingModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpxl3hesslWebGLSupport_TilemapModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp311ixl4mWebGLSupport_TLSModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpzkal_o14WebGLSupport_UIElementsModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp45ea2k7bWebGLSupport_UIElementsNativeModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp00ook_1lWebGLSupport_UIModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp23twoi96WebGLSupport_UmbraModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpa3857cp3WebGLSupport_UNETModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpn7hu1jm6WebGLSupport_UnityAnalyticsModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpvylf_oyjWebGLSupport_UnityConnectModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp_nkw_b5gWebGLSupport_UnityCurlModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp0admsmj3WebGLSupport_UnityTestProtocolModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp2jh5q71dWebGLSupport_UnityWebRequestAssetBundleModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp1fcfy9ppWebGLSupport_UnityWebRequestAudioModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpzwa4jpuxWebGLSupport_UnityWebRequestModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp7s2xx8iwWebGLSupport_UnityWebRequestTextureModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpf07i00ktWebGLSupport_UnityWebRequestWWWModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmps53xvvt9WebGLSupport_VehiclesModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpbsksnr6wWebGLSupport_VFXModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpiia8wus8WebGLSupport_VideoModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpteguf046WebGLSupport_VRModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpuza_s1lfWebGLSupport_WebGLModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmp1_sspuujWebGLSupport_WindModule_Dynamic.a C:\Users\marti\AppData\Local\Temp\tmpcr3wp0rdWebGLSupport_XRModule_Dynamic.a Assets/ADL-Plugins/zip/Plugins/WebGL/zipw.bc -LC:\Unity\2021.3.1f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\cache\sysroot\lib\wasm32-emscripten C:\Unity\2021.3.1f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\cache\sysroot\lib\wasm32-emscripten\libgl-webgl2-full_es3.a C:\Unity\2021.3.1f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\cache\sysroot\lib\wasm32-emscripten\libal.a C:\Unity\2021.3.1f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\cache\sysroot\lib\wasm32-emscripten\libhtml5.a C:\Unity\2021.3.1f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\cache\sysroot\lib\wasm32-emscripten\libc.a
     
  49. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hello.
    The WebGL plugins are updated for Unity2021+. You should download the plugin from a Unity2021 editor for them to work correct.
    If you are not able to do so send me a private message so I can send them to you.

    Edit: It seems you have the Unity2020 and below plugins still in the Plugins/Webgl folder that have the .bc file extension. The Unity2021+ webGL plugins have the .a file extension.
     
    Last edited: May 12, 2022
  50. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Update version 2.2

    - Added the extract_entries function which allows to extract a specific list of entries of a zip archive.

    This will allow better performance against extracting a single entry multiple times.