RPG Maker Loops Music Seamlessly Without a Plugin. Almost Nobody Uses It.

A short guide for anyone putting original music into RPG Maker and wondering why looping seems harder than it should be.

Search for “RPG Maker music loop” and you will find plugin recommendations, script calls, and people cutting a track into two files so the intro plays once and the body repeats. All of that is working around a feature the engine already has. RPG Maker MV and MZ read loop points straight out of an OGG file, natively, with nothing installed. The intro plays once, the body repeats forever, and the jump is sample-exact.

The reason almost nobody uses it is that the feature is invisible. There is no checkbox in the editor, no field in the database, and the docs barely mention it. The loop lives inside the audio file itself, as two text tags, and if you have never been told they exist you would never find them.

The two tags

An OGG file can carry text metadata, the same way an MP3 carries artist and title. RPG Maker looks for two specific entries:

  • LOOPSTART: the sample where the loop begins.
  • LOOPLENGTH: how many samples the loop lasts.

That is the whole system. When a BGM starts, it plays from the very beginning of the file. When playback reaches LOOPSTART plus LOOPLENGTH, it jumps back to LOOPSTART. Everything before LOOPSTART becomes a natural intro that plays exactly once. If the tags are missing, RPG Maker just loops the entire file from the top, which is why an untagged track with a pickup or a reverb tail sounds broken as background music.

Both values are in samples, not seconds. If your track is at 48,000 samples per second and the loop should start 6.5 seconds in, LOOPSTART is 312000. If the body is 128 seconds long, LOOPLENGTH is 6144000. Getting these numbers exactly right matters, because a value that is off by a handful of samples lands the jump mid-waveform and you get a click every time the music wraps.

What it needs from you

Three conditions, and all three bite people:

It has to be OGG. Not MP3, not WAV, not M4A. The convention only works in the OGG files in your project’s audio/bgm folder.

The tags have to survive. Any tool that re-encodes or re-exports the file can silently drop them. If you tag a file and then run it through a converter, a normalizer, or an editor’s export dialog, check that the tags are still there. The tagged OGG should be the last stop before the bgm folder.

The numbers have to be sample-exact. This is the hard one. You can write the tags by hand with any metadata editor that handles Vorbis comments, but you are doing the math yourself: find the loop start in your DAW, convert it to samples, count the body length in samples, and hope your DAW’s display and the rendered file agree. One region trimmed during export and both numbers are wrong.

This is the part I built Loopsmith to do. You place the loop start and end on the waveform, hear the seam repeat before you commit, and export an OGG with LOOPSTART and LOOPLENGTH written correctly. There is an RPG Maker preset that sets all of this up in one step. Drop the file into audio/bgm, pick it as the map’s BGM, and start a playtest. The intro plays once and the body loops with no plugin and no script call.

The one thing the native loop cannot do

The jump back to LOOPSTART is instant. Sample-exact, but instant. If your music is dry at the loop end, that is perfect. If there is any reverb, delay, or a note that rings past the loop end, the ring-out is cut off at the moment of the jump, the room goes silent for an instant, and the loop start lands dry on top of the hole. I wrote about why that happens in Why Reverb Tails Break at Game Music Loop Points. Engines with two audio voices can solve it by letting the tail ring over the restart. RPG Maker plays BGM on one voice, so it cannot.

There is still a fix, and it happens in the audio file rather than the engine. Render the tail that rings past the loop end, then mix it into the opening of the loop body itself. Now the audio at LOOPSTART already carries the ring-out, so when RPG Maker makes its hard jump, the tail is simply there. Done by hand this is a fiddly render, fold, and crossfade job in your DAW. Loopsmith calls it a folded tail, and the RPG Maker preset chooses it automatically when your track needs it, so the seam stays warm even through a hard return.

Try it on your own track

Take one piece of your own music, render it with the natural ring-out on the end, and set the loop points. If you want to hear what the convention feels like before spending anything, the Loopsmith demo is the full app with five free exports, which is enough to put a real, tagged OGG of your own music into your own project tonight.

And if you are working in more than one engine, the same loop points travel. Unity reads them from WAV, with one import setting that breaks them. The full map of which engine reads what is in How Game Engines Handle Loop Points in Audio Files.