Unity Unity3d UnityFS: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| Line 99: | Line 99: | ||
* [https://github.com/nesrak1/UABEA Unity Assets Bundle Extractor Avalonia (UABEA)] | * [https://github.com/nesrak1/UABEA Unity Assets Bundle Extractor Avalonia (UABEA)] | ||
* [https://github.com/Igor55x/UAAE Unity Assets Advanced Editor (UAAE)] | * [https://github.com/Igor55x/UAAE Unity Assets Advanced Editor (UAAE)] | ||
* [https://github.com/mafaca/UtinyRipper UtinyRipper] | |||
=== See Also === | === See Also === | ||
Revision as of 15:00, 6 February 2022
Back to index | Edit this page
Unity3d
- Format Type : Archive
- Endian Order : Little Endian / Big Endian
- Signature : UnityFS
Format Specifications
// Unity3d file format
// header
8 bytes (char) - signature + null // "UnityFS"
4 bytes (uint32) - version // 6 or 7
6 bytes (char) - minimum player version + null // e.g. "5.x.x."
12 bytes (char) - file engine version + null // e.g. "2017.4.35f1." - "Punishing: Gray Raven"
// "2018.4.24f1." - "Shadowverse" / "Wings of Destiny M"
// "2018.4.5f1.." - "Blacksad: Under The Skin"
// "2019.4.0f1.." - "Life Is Strange: Before the Storm Remastered"
// "2019.4.22f1." - "Game of Nightmares"
// "2019.4.23f1." - "Argonavis"
8 bytes (uint64) - archive size
4 bytes (uint32) - compressed "info block" data size
4 bytes (uint32) - uncompressed "info block" data size
4 bytes (uint32) - flags
// info block
// Note: this section may be compressed with LZ4
{
// blocks info
16 bytes - hash
4 bytes (uint32) - number of blocks
num_of_blocks *
{
4 bytes (uint32) - uncompressed block size
4 bytes (uint32) - compressed block size
2 bytes (uint16) - flags
}
// paths info
4 bytes (uint32) - number of paths
num_of_paths *
{
8 bytes (uint64) - path location
8 bytes (uint64) - size of the uncompressed data
4 bytes (uint32) - flags // 0x04 - serialized file
37 bytes (char) - filepath // e.g. "CAB-c0f952eacf35e09957047188fc534360"
}
}
// data
num_of_files *
{
x bytes - file data // may be compressed with LZ4
}
MultiEx BMS Script
Not written yet.
quickBMS Scripts
Notes and Comments
- UnityFS is a new asset bundle format introduced in Unity 5 Engine.
- Files inside archive may be compressed with LZ4 compression method.
- Archive may be partially or fully encrypted with XOR or with AES.
- In some games filenames of unity3d archives may be hashed, for example "06477b71ac17b5740482e85abc24da14" and they don't have *.unity3d extension.
Games
List of games using this file format:
- Alternative girls 2 (Android) (no extension)
- Argonavis from BanG Dream! AAside (Android) (no extension) (encrypted with XOR, key is "CB 69 BF 09")
- Blacksad: Under The Skin (no extension?)
- Game of Nightmares (iOS) (no extension) (encrypted with XOR, key is "0x0B", more info here)
- Life Is Strange: Before the Storm Remastered (*.bytes) (not encrypted)
- NEO: The World Ends With You (PC) (*.unity3d) (Encrypted with AES-128-CBC, read more here)
- Punishing: Gray Raven (Android) (no extension) (Unity 2017.4.35f1) (Game version: 1.9.1 (global) ) (not encrypted, but "Kuro" word is added before "UnityFS" signature)
- Shadowverse (Android) (*.unity3d)
- Wings of Destiny M (Android) (*.unity3d) (encrypted?)
Compatible Programs
- Asset Studio
- AssetRipper
- UnityPack
- UnityEx
- Unity Assets Bundle Extractor (UABE)
- Unity Assets Bundle Extractor Avalonia (UABEA)
- Unity Assets Advanced Editor (UAAE)
- UtinyRipper
See Also
Gallery
-
UABE
-
UnityEx
-
Asset Studio