Unity is a popular application and game development framework. Most modern mobile games are developed using Unity, as it allows developers to write their code once and run it on Android and iOS with little modification. Another reason why developers love to use Unity is C#, the main language used to develop Unity games.

Games written in Unity can be easily datamined and reverse engineered by using tools like Asset Studio and Unity Bundle Extractor. We will go over those tools today and provide detailed instructions on how to use them.

Related article:

How to dump Unity Assets

  1. Grab a copy of the game you want to dump assets from. These come in form of APKs on Android, IPA files on iOS and various executable files on Windows.
  2. Unzip the game into a folder (both APK and IPA files are ZIP archives)
  3. Download Asset Studio from this Github repository. Always grab the latest version to avoid compatibility problems with different Unity versions.
  4. Open Asset Studio and select File > Open Folder
  5. Navigate to the directory where your game is located and open the /assets folder. If that folder doesn't exist, open the root directory
  6. Wait for the Asset Studio to finish parsing the folder and file structure. Depending on the size of your game, it could take a while.
  7. Switch to Asset List inside the Asset Studio. You can extract files one by one, or you can filter them by type by using the Filter Type menu.
  8. After filtering the files, go to Export and select Filtered Files
  9. Wait for Asset Studio to finish exporting.

How to dump OBB files

Many modern games ship with very few assets inside the APK / IPA file and download the rest once the game is opened. Usually these files have the OBB extension and contain the rest of the game's assets. Finding OBB files can be tricky sometimes, but thy are usually located inside the /sdcard/Android/obb/<app_name> directory. You can use X-plore or another file explorer to copy them over to your PC.

Here's how to dump assets from Unity OBB files:

  1. Unzip the OBB file somewhere on your disk drive
  2. Open Asset Studio and load the extracted folder (File > Load Folder)
  3. Wait for the loading process to finish
  4. Switch to Asset List and filter which assets you want to extract
  5. Select Export > Extract Filtered
  6. Wait for the process to complete

Extracting assets from public Unity cache

Some games download and cache assets by using the standard Unity cache mechanism. Sometimes, we can leverage this cache to get a hold of sprites and icons. Unfortunately, there is no standard practice or rule how this cache is used and stored on your device.

However, we have observed that a large number of games keeps their cached assets inside the /sdcard/Android/data/<app_name> directory. We recommend using an Android file explorer to navigate your internal storage and to find these files.

You're looking for folders named cache, UnitySharedCache, DiskCache, il2cpp and bundles.

Use X-Plore, or any other file manager, to zip the folders and send them to your desktop. Repeat steps from previous sections of this guide to extract assets.