AssetRipper:一次提取 Unity 游戏资产,免费完整的资源还原工具
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
AssetRipper 是一款免费的开源 Unity 资产提取与 Unity 资源还原 GUI 工具。它解析 .assets 序列化文件和 AssetBundle 包,把模型、纹理、音频、脚本提取出来,直接导出成可打开的 Unity 工程。无论你是 Mod 制作者、游戏开发者,还是要从旧项目里抢救资源,它都能接住。
🧩 它能帮你做什么
| 能力项 | 解决什么问题 | 适合谁 |
|---|---|---|
| 解析 .assets / .bundle | 二进制文件还原成可读资产列表 | 需要提取游戏资源的任何人 |
| 导出 Unity 工程 | 生成带资产、场景、材质的工程 | 游戏开发者、Mod 制作者 |
| 反编译 Mono 程序集 | 还原游戏里的 C# 代码 | 逆向与学习用途 |
| Win/Mac/Linux 跨平台 GUI | 三端操作一致 | 团队协作 |
| 覆盖 Unity 3.5 到 6000.5 | 市面上多数已发布游戏文件 | 旧项目迁移 |
先把它跑起来再说,整个过程比你想的短。
从打开到跑通:AssetRipper 首次运行验证点
选对包:x64 还是 arm64
先确认一件事:发布包是自包含可执行文件,不用装 .NET 运行时,只需按系统选对架构(x64 或 arm64)。Linux 多一个要求——libwebkit2gtk,因为 GUI 是靠浏览器窗口渲染的。
✅ 验证点:下载页提供三大系统 × 两种架构的压缩包,确认你选中的那一个与本机匹配。
没有安装向导,下载即解压
到手后没有"下一步下一步再下一步",直接解压。
✅ 验证点:解压目录里能看到AssetRipper.GUI.Free这个可执行文件。
打开 AssetRipper GUI 设置页
到这里,环境已经就绪了。Windows 上双击AssetRipper.GUI.Free,macOS 在终端执行./AssetRipper.GUI.Free,浏览器窗口会打开设置页。模型、图片、音频的导出格式都可以选,默认值就能开工。
✅ 验证点:浏览器里出现"Welcome To AssetRipper"设置页,各项下拉框都能正常点开。
把 .assets 或 .bundle 拖进窗口
最后一步才是重头戏:选中游戏的 .assets 文件或 AssetBundle 拖入窗口。处理完成后,输出目录会生成带Assets文件夹的 Unity 工程。
✅ 验证点:日志里滚动出处理进度,输出目录出现Assets文件夹,用 Unity Editor 打开能正常加载。
这几个场景你大概率会用到
排查资源臃肿。发布包体积超标,怀疑误打进了测试素材。导入游戏Resources或Data目录里的Level0.assets之类的文件,你会拿到完整资产列表和引用关系,对照实际场景一比对,无用资源立刻现形。
恢复旧项目资源。原始工程丢了,旧版 Unity 又打不开老文件。从序列化文件提取资产并导出,得到一个新版编辑器能打开的工程,模型、纹理、材质都保留原始属性。
制作 Mod 基础素材。想改游戏的纹理或模型,导入对应 AssetBundle 后导出,拿到的是通用格式的模型与纹理文件,附带原始材质参数,可以直接拿去制作替换资源。
它背后做了什么
一个工具怎么读懂横跨 Unity 3.5 到 6000.5 的文件结构?答案是分层的。入口是文件读取层 Source/AssetRipper.IO.Files/:AssetBundle 头部、归档节点树、Lzma 与 Zstd 解压、.assets 里的类型树解析,都在这个模块里。
解析完成后,中间层负责重建 Unity 对象图,把场景、预制体、资产组整理出来,再由 Source/AssetRipper.Export.UnityProjects/ 把 Unity YAML 资产一个个写出来。模型、纹理、音频各走自己的子模块做格式转换,Mono 游戏的 C# 代码则由专门的程序集反编译器还原。
还有个细节:GUI 本身是个本地 Web 应用,启动后监听随机端口再自动开浏览器。加--headless可以不开窗口,--log让日志落到磁盘,纯命令行环境用也够。
AssetBundle 提取避坑指南
- Linux 报 Too many open files:默认文件描述符上限太低,启动前在同一终端抬高它。
ulimit -n 1048576 ./AssetRipper.GUI.Free- Mono 脚本导不出来:.bundle 本身不存脚本,脚本在 .dll 程序集里。把游戏程序集目录(
Managed文件夹或对应 .dll)和 bundle 一起拖进窗口,日志出现Files use the 'Mono' scripting backend就是成功了。 - macOS 报 Permission denied:首次运行前给可执行文件加执行权限。
chmod +x AssetRipper.GUI.Free- 只想解包 .bundle:不必启动完整 GUI,用仓库里的 Source/AssetRipper.Tools.FileExtractor/ 工具,把文件拖到它的可执行文件上即可。
- 想排查导出异常:启动时带上
--log保留日志文件,拿日志里的报错文本去对照常见问题文档,比干猜快得多。
说句实话:强在哪,弱在哪
版本覆盖明确:官方声明支持 Unity 3.5.0 到 6000.5.X,市面上大多数已发布游戏都落在这个区间里,做旧项目提取,这一点比多数工具靠谱。
链路完整:文件解析、对象重建、脚本反编译、项目导出一条龙,不用自己拼凑多套工具。GPL v3 开源,核心功能免费;付费 Premium 版提供着色器反编译等附加项,不影响基本使用。
不同 Unity 版本支持质量有差异:官方也承认个别新版本特性要等后续更新。遇到某版本导出不对劲,先升级工具再看。
IL2Cpp 游戏没有现成 C# 源码:得先用 Cpp2IL 之类的外部工具生成程序集再喂进来;缺对应 .dll 时,bundle 里的脚本没法还原。这是整条链路里唯一必须你自己动手的环节。
项目动态:还在活跃更新
独立作者持续维护,节奏分三档:稳定版、预发布版,以及每次提交自动触发的 nightly 构建——尝鲜的话直接上 nightly。社区在 Discord,界面已翻译 23 种语言。发现 bug、想要新功能、想提交代码,门都开着。
从游戏的二进制文件到一个能打开的 Unity 工程,这条路 AssetRipper 帮你走完了,而且免费。源码可用git clone https://gitcode.com/GitHub_Trending/as/AssetRipper获取。
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考