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
Loading the reader...
Assets
Loaded files
| Type | Name | Container path | Path ID | File | Bytes |
|---|
No matching assets
Try another name or asset type.
Preview & details
Select an asset
Choose a name from the list to preview its image or inspect its data.
Image gallery
Preview all textures and sprites together. Select a thumbnail to inspect it. Images that cannot be decoded are skipped.
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");