unity-asset-reader / explorer

Unity asset explorer

See what's inside
your bundle.

Browse assets, inspect script data, and preview textures and sprites. Open your own files or start with a sample.

Files stay on your device. No uploads.

Open a bundle
No bundle handy?
One URL per line. The server must allow browser access (CORS).

Loading the reader...

Use the reader in your project

No bundler and no install: a module Worker imports the published packages from jsDelivr and posts plain data to the page. Parsing is synchronous, so in the Worker a big bundle never freezes the page. The code is in docs/.

import { open } from "https://cdn.jsdelivr.net/npm/unity-asset-reader@1/+esm";
import { isImage, imageInfo, decodeImage, images, initTexture }
  from "https://cdn.jsdelivr.net/npm/unity-asset-reader-texture@1/+esm";

await initTexture({ wasmPath: "https://cdn.jsdelivr.net/npm/texture2ddecoder-wasm@1/wasm" });
const env = await open([bundleFile, "https://example.com/other.bundle"]);

for (const asset of env.assets()) {
  console.log(asset.type, asset.name, asset.path, asset.pathId);
  if (isImage(asset)) {
    const { rgba, width, height, formatName } = await decodeImage(asset);
  } else if (asset.type === "TextAsset") {
    console.log(asset.data.text);
  } else if (asset.type === "MonoBehaviour") {
    console.log(asset.data.fields); // the script's fields, 64-bit values as bigint
  }
}
const icon = env.get("Assets/UI/Icon.png");