soargon / AssetRipper

GUI and API library to work with Engine assets, serialized and bundle files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AssetRipper

AssetRipper is a tool for extracting assets from serialized files (CAB-*, *.assets, *.sharedAssets, etc.) and assets bundles (*.unity3d, *.assetbundle, etc.) and converting them into the native Unity engine format.

Important note: This project is currently in an experimental state. Expect bugs and many changes.

Current supported versions: 1.x to 2019.x (support for later versions is in progress)

Export features

  • Scenes
  • Prefabs (GameObjects with transform components)
  • AnimationClips (legacy, generic, humanoid)
  • Meshes
  • Shaders (native listing)
  • Textures
  • Audio
  • Fonts
  • Movie textures
  • Materials
  • AnimatorControllers
  • Avatars
  • Terrains
  • TextAssets
  • Components:
    • MeshRenderer
    • SkinnedMeshRenderer
    • Animation
    • Animator
    • Canvas
    • Light
    • ParticleSystem
    • Colliders
    • Rigidbody
    • AudioSource
    • Camera
    • MonoBehaviour (Mono and Il2Cpp)
    • MonoScript (Mono and Il2Cpp)

Downloads

Download links can be found on the latest release page.

Structure

  • AssetRipperCore (Cross-Platform)

    Core library. It's designed as an single module without any third party dependencies.

  • AssetRipperLibrary (Cross-Platform)

    This is an expansion library for AssetRipperCore. It includes some third party dependencies and has some extra converters, so on Windows it additionally exports:

    • AudioClip .wav export
    • Texture2D .png export (with Sprites)
    • References to build-in Engine assets
    • Shader DirectX blob export
  • AssetRipperGUI (Windows-only)

    Basic graphic interface application utilizing the AssetRipperLibrary.

  • AssetRipperConsole (Cross-Platform)

    Command line equivalent of AssetRipperGUI. Since it has no GUI, it can be cross-platform compatible.

  • UnitTester (Cross-Platform)

    Automated tester to verify project integrity while making changes.

Requirements:

If you want to build a solution, you'll need:

If you want to run binary files, you need to install:

Discord

The development of this project has a dedicated Discord server. Feel free to come say hi. This is also an alternative location for people without Github accounts to post issues.

To Do

  • Set up proper build actions
  • Predetermined GUID support

Goals

  • Unity 2020 and 2021 support
  • Dummy shader implementation
  • NAudio implementation for exporting other audio formats
  • More Unity Component Exporters

License

AssetRipper is licensed under the GNU General Public License v3.0

Copyright Issues

Please be aware that distributing the output from this software may be against copyright legislation in your jurisdiction. You are responsible for ensuring that you're not breaking any laws.

Credits

This began as a fork of mafaca's uTinyRipper project licensed under the MIT license.

It has borrowed code from Perfare's AssetStudio project licensed under the MIT license.

Brotli is licensed under the MIT license.

Cpp2IL is licensed under the MIT license.

FMOD is licensed under a non-commercial license.

Lz4 is licensed under the MIT license and the BSD 2-Clause license.

Mono.Cecil is licensed under the MIT license.

Smolv is licensed under the MIT license.

SpirV is licensed under the BSD 2-Clause license.

Disclaimer

This software is not sponsored by or affiliated with Unity Technologies or its affiliates. "Unity" is a registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.

About

GUI and API library to work with Engine assets, serialized and bundle files

License:GNU General Public License v3.0


Languages

Language:C# 100.0%