QuietForgeTools · RPG Maker troubleshooting

RPG Maker MV/MZ: Images or Audio Missing After Deployment — Check Filename Case

Your project plays fine on your computer, then after you deploy to a Linux host, itch HTML5, or another web export, some images or audio fail to load. A common cause is filename case: the reference and the file on disk differ only in capitalization.

Scope: RPG Maker MV and MZ asset references that use real filenames on disk (images and audio). This page is a manual troubleshooting guide — it does not scan or modify your project. Host behaviour varies; not every deployment is case-sensitive, but many Linux and web hosts are.

Why it works locally but fails after deployment

Many Windows installs (and some macOS setups with default settings) treat Hero.png and hero.png as the same file. The editor and local playtest can resolve a reference even when the capitalization in the database or event does not match the file on disk exactly.

Case-sensitive filesystems and many Linux or web deployments do not. If the packaged game asks for img/characters/Hero.png but the uploaded file is img/characters/hero.png, the load fails. The same issue affects audio paths under folders such as audio/bgm, audio/bgs, audio/me, and audio/se.

Example: database/event references Hero.png, but the file on disk is hero.png. Local Windows playtest may still find it. After deploy to a case-sensitive host, the character graphic fails to load.

Safe manual diagnosis

Backup first. Copy the whole project folder (or make a zip) before renaming any files or editing references. A wrong rename can break more paths than you fix.

1. Confirm the symptom looks like a missing asset

  • Local playtest: asset appears.
  • Deployed build: missing graphic, silence, or a load/failed-to-load style error for that file.
  • Other assets still load — points away from a total path or export failure.

2. Identify one broken reference

  1. Note which picture, character, tileset graphic, or sound fails.
  2. In the RPG Maker database or event that uses it, read the exact name shown (including capitalization).
  3. In your project folder, open the matching asset directory (for example img/characters or audio/se) and compare the real filename byte-for-byte, including extension case (.PNG vs .png).

3. Align both sides — do not fix only one

Renaming the file without updating every reference (or updating a reference without renaming the file) can leave the project broken. Prefer one consistent spelling everywhere: the name in the editor/data and the name on disk must match exactly, including case.

  • If you rename the file, re-select or re-enter the asset in every event/database field that used the old spelling.
  • If you change the reference, confirm the file on disk already uses that exact spelling.
  • Search the project for other copies of the same basename with different capitalization (duplicate names that differ only by case can also collide on case-insensitive disks and confuse exports).

4. Re-export and re-test on a case-sensitive target

After aligning names, deploy again to the same kind of host you use in production (Linux VPS, itch HTML5, static web host, etc.). A local Windows re-test alone may not prove the fix. Where possible, also test from a case-sensitive volume or a Linux container so mismatches show up before public deploy.

Limits of a manual filename check

Manual comparison works well for assets you pick in the editor by fixed filename. It is weaker when names are built at runtime.

  • Plugin or script-built paths: if a plugin concatenates strings to form a filename, searching the database for a static name may miss it.
  • Dynamically generated names: runtime-built image/audio names need a different debugging approach (logging the final path the engine requests).
  • Not covered here as a complete project audit: CommonEvents-driven loads, arbitrary plugin parameters, fonts, movies, and Effekseer-related internals are easy to overlook by hand.

Hosts also differ: some CDNs or export pipelines normalize paths; others preserve case strictly. Treat Linux and typical web deploys as the risk case without assuming every target behaves identically.

Check a whole project automatically

If you want a read-only pass over many image and audio references at once, QuietForgeTools publishes an offline Chromium HTML tool for RPG Maker MV/MZ:

RPG Maker Case-Sensitive Asset Auditor (v0.3.1) — offline, read-only folder picker in Chrome, Edge, or Brave. It reports CASE MISMATCH, UNRESOLVED, CASE COLLISION, and SCAN INCOMPLETE. It does not auto-fix or rename files. Out of scope: CommonEvents, plugins, fonts, movies, Effekseer, and dynamically generated or script-built filenames.

£3+ itch.io · PWYW from £3.00 · Buy Now Open Case Auditor on itch.io

The steps above remain usable on their own. Buying the auditor is optional — use it only if a whole-project scan would save time after you understand the case-mismatch failure mode.