MiniBench

MiniBench / Learn

Explainer ~3 min read

Understanding manifest.json

Every Minecraft Bedrock pack has one required file: manifest.json. It's the pack's ID card — it tells Minecraft what the pack is called, what it contains, and which game version it needs. Get it wrong and the pack silently refuses to import.

What's inside

{
  "format_version": 2,
  "header": {
    "name": "Redstone Manor",
    "description": "A cozy build pack",
    "uuid": "e1b6...-generated-...9f2a",
    "version": [1, 0, 0],
    "min_engine_version": [1, 21, 0]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "7c40...-generated-...a3d1",
      "version": [1, 0, 0]
    }
  ]
}

The fields that matter

name / description
What players see in the pack list.
uuid
A unique ID. The header UUID and each module UUID must be different from each other — and unique across your packs.
version
Three numbers, e.g. [1, 0, 0]. Bump it to ship an update; a higher version overwrites the old one in Minecraft.
min_engine_version
The oldest Minecraft version that can load the pack, e.g. [1, 21, 0].
modules
What the pack is: type data = behavior pack, resources = resource pack, script = Script API.

Why imports fail

Minecraft rejects a pack — usually silently — when the manifest is malformed (a missing comma or field) or when its UUID + version already exist in your library. That's the number one reason a pack "won't show up."

How MiniBench helps

MiniBench generates fresh, valid UUIDs when you create or import a pack, so collisions don't happen. Its manifest form editor lets you set the name, description, and version safely, with UUIDs kept read-only so you can't accidentally break a required field.

Never hand-write a UUID again.

MiniBench scaffolds a valid manifest for every project.

Your first pack