UnityAsset.NET
0.2.0
dotnet add package UnityAsset.NET --version 0.2.0
NuGet\Install-Package UnityAsset.NET -Version 0.2.0
<PackageReference Include="UnityAsset.NET" Version="0.2.0" />
<PackageVersion Include="UnityAsset.NET" Version="0.2.0" />
<PackageReference Include="UnityAsset.NET" />
paket add UnityAsset.NET --version 0.2.0
#r "nuget: UnityAsset.NET, 0.2.0"
#:package UnityAsset.NET@0.2.0
#addin nuget:?package=UnityAsset.NET&version=0.2.0
#tool nuget:?package=UnityAsset.NET&version=0.2.0
UnityAsset.NET
🚨 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.
Features
BundleFile
- 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
SerializedFile
- Parsing and Reading
-
Serialization(Temporarily removed) -
Patching(Temporarily removed)
Asset
- Parsing based on TypeTree
-
Serialization(Temporarily removed) -
Patching(Temporarily removed)
Examples
Unity CN Decryption
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);
Stripped Version
Some BundleFile
's version may be stripped, to load those file you can set a specific version
Setting.DefaultUnityVerion = "2020.3.48f1"
Roadmap
- 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.
Credits
This project stands on the shoulders of these amazing open-source projects:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- K4os.Compression.LZ4 (>= 1.3.8)
- Microsoft.CodeAnalysis.Common (>= 4.14.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.14.0)
- SevenZip (>= 19.0.0)
-
net9.0
- K4os.Compression.LZ4 (>= 1.3.8)
- Microsoft.CodeAnalysis.Common (>= 4.14.0)
- Microsoft.CodeAnalysis.CSharp (>= 4.14.0)
- SevenZip (>= 19.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.2.0 | 130 | 8/20/2025 |
0.1.1 | 147 | 6/16/2025 |
0.1.0 | 144 | 6/14/2025 |
0.0.4-beta.3 | 124 | 4/11/2025 |
0.0.4-beta.2 | 194 | 8/26/2024 |
0.0.4-beta.1 | 87 | 6/29/2024 |