If you hit something that isn't covered here, please
open an issue
with the affected log file from logs/ (with AES keys redacted).
EfficientAssetRipper relies on the Everything desktop app for instant file search. There is no fallback — if Everything isn't running, asset discovery silently returns zero results.
Fixes:
- Confirm Everything is installed and running (look for the magnifying-glass icon in the system tray).
- Open Settings → check the Everything DLL path. The default is
C:\Program Files\Everything\Everything64.dll. - Click Test All Paths & SDKs in Settings. The "Everything IPC" row should report PASS.
- If you have multiple Everything installs, make sure the running instance and the DLL path point to the same version.
Per-asset Blender failures are logged in logs/batch_*.log. Common cases:
| Code | Likely cause | Fix |
|---|---|---|
| 1 | Generic Python exception inside Blender | Check logs/batch_*.log for the asset's error field |
| 2 | Wrong Blender version (PSK addon missing or incompatible) | Use Blender 4.0+; verify the addon name in Settings → Processing |
| -1 | Timed out | Bump Settings → Processing → Timeout per Asset |
| 0xC0000005 | Native crash, often a malformed PSK | Try one asset in isolation; report with the PSK if reproducible |
Manual reproduction: copy the cmd line from the log file, run it from a
shell, and you'll see the full Blender stderr.
The Unpacker reports "X archives need AES keys" when one or more .pak
files refused decryption. AES keys live in the active profile only —
the Unpacker tab no longer has its own editor.
Fixes:
- The fastest path: when Mount Archives detects encrypted archives, a dialog opens automatically with the affected archive names + GUIDs. Paste the matching key, click OK, and the profile is updated and remounted in one go.
- Manual edit: open Manage Profiles, scroll to AES Keys.
- Verify the GUID and key are entered correctly. The key is a 64-char
hex string (32 bytes); the GUID is
00000000000000000000000000000000for most games' main key. - Try 0x prefix on the key — some sources include it, some don't. Both work, the unpacker normalises.
- If the same archive is decrypted fine by another tool but not us, check the UE Version in the profile — wrong version = "wrong" key even if the key itself is right.
- Per-archive AES keys (multiple GUIDs) are supported — add a row per key.
⚠️ Never paste AES keys into a public bug report. The crash reporter andredact_sensitivestrip keys from logs, but pasted text won't go through that filter.
These statuses come from the scanner, not Blender:
- no_props: a
.pskexists but no companion.props.txt. Cause: the unpacker exported the mesh but skipped its property file (look for the corresponding mesh in the unpacker tree and re-export with the Props format checkbox on). - no_materials: props file was found but lists zero materials, AND
the binary
MATT0000chunk inside the PSK was empty. This is rare; usually means the asset is something other than a renderable mesh (e.g. a collision shape).
For no_props, opening Asset Detail (double-click in the browser) shows the exact paths the resolver looked for.
The dialog has three buttons:
- Copy report — full crash JSON to clipboard for pasting elsewhere.
- Open GitHub issue — opens a pre-filled new-issue page. Review the body before submitting; it includes the traceback, OS/Python/Qt versions, and the last 200 log lines.
- Continue — dismiss; the app may still be usable depending on what crashed.
A copy of the report is always written to logs/crash_*.json even if
you click Continue. The crash JSON has already been run through the
redaction filter (AES keys, hex blobs ≥ 32 chars are masked).
- Click Manage Profiles (toolbar).
- Click New → enter a name (e.g. "JediSurvivor"). The new profile is created on disk immediately with empty defaults.
- Fill in:
- Game folder — points at the
Pak/(or equivalent) directory of the game install. - UE Version — pick from the dropdown, or type the exact
EGameenum value (e.g.GAME_UE5_3). - Mounted folder — where the unpacker writes exported files. Also where the PSK Picker reads from.
- Output folder — where Blender writes
.blendfiles. - AES Keys — one row per GUID/key pair (see above).
- Game folder — points at the
- Click OK to commit.
Path edits in the Unpacker tab don't persist back to the profile unless Auto-save Unpacker tab edits is checked on that profile — that lets you do one-off mounts without overwriting the saved values.
JobManager writes a checkpoint after every job. On the next launch,
if a checkpoint exists for the active profile, the app will prompt:
Resume previous batch? — N asset(s) still pending
Pick Yes to load the remaining assets and start processing where you left off. No discards the checkpoint. If the checkpoint is for a different profile, it's left untouched and the prompt fires next time you switch back to that profile.
The checkpoint file is at cache/queue_checkpoint.json — safe to
delete manually if you want a clean slate.
- Settings dialog has a Restore Defaults button — repopulates every Settings field. Doesn't write until you click OK.
- Color Scheme dialog has Reset to Default for the active custom scheme (built-in schemes are immutable so the button is disabled there).
- Profiles can be deleted via Manage Profiles → Delete. There must be at least one profile, so delete-all isn't possible.
- QSettings lives in the Windows registry at
HKCU\Software\EfficientAssetRipper. Nuking that key resets everything to first-launch state.
| File | Purpose |
|---|---|
logs/batch_<ts>.log |
One entry per processed asset (NDJSON). Written by JobManager. |
logs/crash_<ts>.json |
Structured crash report. Written by the crash reporter on uncaught exceptions / Qt fatal messages. |
Both are redacted: AES keys, hex blobs, and field names containing
key/aes/password/token/secret are masked before write.