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