🚨 Major Breaking Changes in v0.2.0 🚨
This version introduces a complete, low-level refactoring with major breaking changes. The API is not compatible with older versions (v0.1.x). This update aims to build a foundation that is more performant, type-safe, and provides a cleaner API. Please read the notes below carefully before upgrading.
A .NET library undergoing active refactoring, currently focused on high-performance parsing and reading of Unity Engine asset files.
Only support Unity 2017.x or later.
- Parsing and Reading
-
Serialization(Temporarily removed, will be re-introduced with a new API in a future version) -
Patching(Will be re-introduced in a future version) - Calculate/Patch crc32
- Parsing and Reading
-
Serialization(Temporarily removed) -
Patching(Temporarily removed)
- Parsing based on TypeTree
-
Serialization(Temporarily removed) -
Patching(Temporarily removed)
To load BundleFile
with Unity CN Encryption, there are two ways.
// Hex string format (32 characters)
Setting.DefaultUnityCNKey = "587865636f6472506547616b61326536"; // Represents "XxecodrPeGaka2e6" in hex
BundleFile bf = new BundleFile( @"path to your bundlefile");
or
// Plain string format (16 characters)
BundleFile bf = new BundleFile( @"path to your bundlefile", "XxecodrPeGaka2e6");
To remove Unity CN Encryption form File, you can simply save BundleFile
without key
// Temporarily removed
bf.Serialize(@"path to save file", CompressionType.Lz4HC, CompressionType.Lz4HC);
Some BundleFile
's version may be stripped, to load those file you can set a specific version
Setting.DefaultUnityVerion = "2020.3.48f1"
- v0.3: More Asset Class Interface.
- v0.4: Re-architect and re-implement a robust and flexible serialization API.
- v0.5: Re-introduce patching capabilities based on the new object model.
This project stands on the shoulders of these amazing open-source projects: