From dd3f13d33843b139ae4ac12a0d0acd77d0fdbae4 Mon Sep 17 00:00:00 2001 From: Den <31878959+dv1x3r@users.noreply.github.com> Date: Thu, 12 Feb 2026 20:07:55 +0200 Subject: [PATCH] Handle UnityWeb version 6 --- UnityPy/files/BundleFile.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/UnityPy/files/BundleFile.py b/UnityPy/files/BundleFile.py index 8f6eb901..28142a3b 100644 --- a/UnityPy/files/BundleFile.py +++ b/UnityPy/files/BundleFile.py @@ -41,7 +41,10 @@ def __init__( if signature == "UnityArchive": raise NotImplementedError("BundleFile - UnityArchive") elif signature in ["UnityWeb", "UnityRaw"]: - m_DirectoryInfo, blocksReader = self.read_web_raw(reader) + if self.version == 6: + m_DirectoryInfo, blocksReader = self.read_fs(reader) + else: + m_DirectoryInfo, blocksReader = self.read_web_raw(reader) elif signature == "UnityFS": m_DirectoryInfo, blocksReader = self.read_fs(reader) else: @@ -98,6 +101,10 @@ def read_fs(self, reader: EndianBinaryReader): uncompressedSize = reader.read_u_int() dataflagsValue = reader.read_u_int() + # UnityWeb version 6 + if self.signature != "UnityFS": + reader.read_byte() + version = self.parse_version() # https://issuetracker.unity3d.com/issues/files-within-assetbundles-do-not-start-on-aligned-boundaries-breaking-patching-on-nintendo-switch # Unity CN introduced encryption before the alignment fix was introduced.