-McFly- Posted November 22, 2025 Posted November 22, 2025 Launchbox Precache Manager - Speed up your build View File LaunchBox Precache Manager (LPM) Mass image optimizer + precache system for LaunchBox libraries (PowerShell 5.1, ASCII-only). TL;DR LPM scans your LaunchBox Images folder, builds a compressed WebP/JPEG precache into: LaunchBox\Images\_Precache …then (optionally) swaps your original image folders for the precache using NTFS junctions. Original art is protected in: Images\_Originals LaunchBox/Big Box browsing gets faster and lighter You can restore originals at any time Designed for very large libraries (hundreds of thousands to millions of images). What’s included This package contains two main scripts: LB-Precache-Manager.ps1 – interactive front-end menu (the “manager”) Build-LaunchBox-Thumbnails-Parallel.ps1 – the “engine” that does the heavy lifting Optional (recommended): cwebp.exe – Google WebP encoder (best compression / speed) Launcher: Launch-LPM.cmd (optional convenience) You can also run the manager directly with PowerShell. High-level workflow Audit your Images folder (counts, types, savings estimates). Build thumbnails (create/update files in Images\_Precache). Backfill later (fill gaps only after partial runs or new content). Activate Precache (parks originals into _Originals, junction-swaps to _Precache). Restore Originals (undo junction swap, put everything back). Rebuild existing precache later with a new profile if you want tighter compression. Important notes up front Close LaunchBox and Big Box before running (especially Activate/Restore). Locked folders will be skipped. Back up first. Make a backup/snapshot of your LaunchBox folder if you’re cautious (recommended for first-time users). LPM does not change your game metadata except when you explicitly use: Clean XML references (only removes references to images already moved to _BadImages). Remote / network / external path warning (important) LPM is built for local, fixed disks. If your LaunchBox path is a mapped drive / UNC path / remote share, some operations will refuse to run and you will see: Remote paths not supported; run on the Launchbox PC. This prevents multi-day failures, broken junctions, and extreme slowdowns. SAFE vs FULL run mode At startup you’ll choose a run mode: SAFE: low impact (older/USB systems) FULL: uses hardware recommendations for faster multi-threaded work (best on SSD/NVMe) FULL mode will also show detected hardware and recommended defaults (workers/batch sizing). Why counts don’t always match It’s normal to see differences between: a simple file count script, and what the engine prints during scanning/building Reasons: The engine may walk additional internal paths (depending on mode and what already exists in your Images tree). “Visited directories” and “files matched” are progress counters, not a strict “real folder count.” Bottom line: don’t panic if counts don’t line up perfectly, especially after multiple runs or after Activate/Restore operations. Handling locked folders / “file in use” During Activate/Restore (and sometimes builds), you may see locked items skipped. What it means: LaunchBox/Big Box/Explorer/AV has something open. What LPM does: prints a warning continues with the rest (doesn’t abort the entire run) Fix: close LB/BB re-run the option (safe to re-run) Installation Extract the zip anywhere (Desktop/tools folder). Run one of: Launch-LPM.cmd (recommended convenience) or open PowerShell and run: .\LB-Precache-Manager.ps1 Recommended: Run PowerShell as Administrator for: junction swap operations optional Defender exclusion standby-cache clearing (RAM file cache) Logging LPM-Answers-Last.json This stores the last answered prompts so you can re-run the same build easily (Repeat mode uses this). This is NOT a log and remains on by default. Session logs can be viewed or deleted from the install folder. Batch mode also maintains small state/summary files so it can resume safely. Main Menu (Manager) You’ll see: Main Menu [0] Audit images (recommended first step) [1] Build Thumbnails [2] Activate Precache (junction swap) [3] WebP -> PNG hardlink aliases (LaunchBox compatibility) [4] Restore Originals [5] Clean XML references [6] Backfill missing precache from Images [7] Rebuild existing precache at new profile [8] Exit [B] Batch run-all (50,000 cap per session) [R] Repeat last build (use saved answers) [T] Clean LPM temp files (optional) WebP note (important): - LaunchBox / Big Box do not load images with a .webp extension. - LPM can still build WebP precache for disk savings, but you must create .png/.jpg filename aliases for LaunchBox. - Use menu option [3] to create .png hardlink aliases next to each .webp (no extra disk usage). - On startup, LPM checks whether Windows can decode WebP and (if missing) opens the Microsoft Store "WebP Image Extensions" page. [0] Audit images Walks the Images tree and produces: counts convertible totals rough space saving estimates planning hints per profile Outputs: lb_audit.json lb_audit.csv [1] Build Thumbnails Creates/updates the precache under: LaunchBox\Images\_Precache\... Profiles: Fast Balanced Extreme Custom Notes: If cwebp.exe is present, WebP is used (best compression). You can force JPEG-only (optional). [2] Activate Precache (junction swap) “Turns it on.” Moves originals to Images\_Originals\... Creates junctions under Images\... pointing to _Precache [3] WebP -> PNG hardlink aliases (LaunchBox compatibility) Run this after [1] or [2] to create replacement .png hardlinks for all the new .webp files for LB / BB compatibility. This will scan and create all the files in the _Precache folder. [4] Restore Originals Undoes Activate: removes junctions moves originals back from _Originals [5] Clean XML references Advanced/optional cleanup for broken image refs linked to _BadImages. [6] Backfill missing precache from Images Fills only what’s missing: finds originals without corresponding precache output generates precache copies only for those [7] Rebuild existing precache at new profile Re-encodes existing precache using a different profile (only replaces when beneficial, depending on settings). [B] Batch run-all (50,000 cap per session) This is for huge libraries with hundreds+ platforms/folders. What it does: Iterates through platform folders under Images Processes them in segments capped at 50,000 per batch session Writes output into: Images\_Precache\<Platform>\... Can resume where it left off in later runs using a state file Behavior: Prompts per platform with an auto-default (so you can run unattended) Designed so you can run overnight without bogging down the machine for days in one “run all” Batch state: LaunchBoxRoot\LPM-Batch-State.json (resume point / continuation) Batch summary: Writes short progress summaries to the LaunchBox root (easy to find) Also: Batch runs can clear standby cache automatically (admin required) before segments to reduce cache thrash. [R] Repeat last build (use saved answers) Re-runs your last answered configuration using: LPM-Answers-Last.json This is the “do exactly what I did last time” option. [T] Clean LPM temp files (optional) Cleans LPM temporary working files (typically under Windows %TEMP% related to LPM processing). This is safe housekeeping and does not change your LaunchBox Images content. Notes about WebP + LaunchBox LaunchBox can display WebP files when they’re in place in the Images tree, but: Drag/drop and scraping workflows typically expect PNG/JPG sources. LPM’s approach keeps originals safe, while precache improves performance. Clear Logos: PNG sources are strongly recommended (transparency matters). Recommendation for first-time users Run Audit Run Build Thumbnails with Balanced Test LaunchBox/Big Box performance Then consider Activate Precache Support / community If you like this and want to help me out, buy me a coffee https://buymeacoffee.com/mcflylpm Submitter -McFly- Submitted 11/22/2025 Category Third-party Apps and Plugins Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.