Wiki 9Minecraft Wiki 9Minecraft

Writing a Pack Description People Actually Read

How to write clear, localized in-game descriptions and external project pages for your Bedrock add-on.

6Sections
2Code examples
3Known errors

A well-written pack description tells players what your add-on does, whether it works on their version of Minecraft, and which settings they need to enable before creating a world. You write two distinct descriptions for every release: a brief summary inside the manifest that appears in the in-game pack selector, and a comprehensive guide for the download page.

The two descriptions every add-on needs

When you publish a Minecraft Bedrock add-on, you are writing for two completely different contexts. The first context is the download page where a player decides whether your pack is worth installing. Here, you have plenty of space for formatting, screenshots, crafting recipes, and detailed installation instructions. The second context is the in-game Edit World or Global Resources menu. In this menu, the game displays the title and description pulled directly from your behavior pack and resource pack manifests.

Many creators make the mistake of copying their entire download page text and pasting it into the `manifest.json` file. Inside the game interface, the description box is narrow and only shows two or three lines of text before truncating the rest or forcing the player into an awkward scroll. On mobile and console screens, long manifest descriptions become completely unreadable. Your in-game text must act as a quick reminder of what the pack is, what version it is on, and whether it requires specific world toggles to function.

By separating these two pieces of writing, you solve the most common support problems before they happen. The download page convinces the player to get the `.mcaddon` file and teaches them how to use the content. The in-game description sits right next to the activation button, reminding the player to turn on Beta APIs or Holiday Creator Features right at the moment they are configuring their world settings.

Setting up the in-game manifest and localization

Never hardcode plain English strings directly into the `name` and `description` fields of your `manifest.json`. Instead, use localization keys such as `pack.name` and `pack.description`, and define the actual text inside your `texts/en_US.lang` file. This approach keeps your JSON clean, prevents syntax errors caused by unescaped quotation marks, and allows you or community translators to add other languages later without touching the manifest.

Keep the localized `pack.description` under 120 characters if you want it to be readable at a glance across all devices. If you need a line break to separate a brief summary from a warning about experimental toggles, you cannot press Enter in a `.lang` file; doing so starts a new translation key. Instead, use the `\n` escape sequence to force a new line inside the game menu.

Make sure you also include a `texts/languages.json` file that registers every language file you provide. If you omit `languages.json`, Minecraft may fall back to displaying the raw `pack.description` string directly in the menu, which looks broken to the player.

BP/manifest.json
{
  "format_version": 2,
  "header": {
    "name": "pack.name",
    "description": "pack.description",
    "uuid": "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
    "version": [1, 0, 0],
    "min_engine_version": [1, 20, 80]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "f6e5d4c3-b2a1-4f5e-8d9c-0b1a2f3e4d5c",
      "version": [1, 0, 0]
    }
  ]
}

Formatting with section signs in language files

Within your `.lang` file, you can use the Bedrock formatting symbol (`§`) followed by a single character to add color and weight to your in-game description. Used sparingly, color helps critical requirements jump out while the player is scrolling through a long list of installed packs. For example, coloring a requirement in gold (`§6`) or red (`§c`) draws the eye immediately, whereas making the entire paragraph bold rainbow text makes it harder to read.

Whenever you change the text style using codes like `§l` (bold) or `§o` (italic), always follow it with `§r` (reset) when you want to return to normal text. Unlike color codes in Java Edition, Bedrock color codes do not automatically clear formatting styles like bold or obfuscated text. Forgetting `§r` often causes the rest of your sentence to remain bold or italicized unintentionally.

Below is a clean, readable `en_US.lang` configuration. Notice that the comment at the top uses two hash symbols (`##`), which is the required comment syntax for Bedrock `.lang` files. The description states what the pack adds on the first line, and uses a line break and color codes on the second line to state the required game version and toggle.

CodeWhat it doesNotes
§7Gray textGood for standard body text in the dark UI
§fWhite textHigh contrast; use to highlight numbers or versions
§6Gold textStands out well for warnings or feature headers
§cRed textBest reserved for required experimental toggles
§lBold styleMust be cleared with §r; color codes alone do not reset it
§rReset allReturns text to default color and clears bold/italic
BP/texts/en_US.lang
## Pack Manifest Strings
pack.name=§bArtisan Copperworks §7[v1.2]§r
pack.description=§7Adds 14 weathering copper lamps and grates.\n§6Requires: §f1.20.80+ §8| §cNo Experiments Needed§r

Structuring your external download page

When a player clicks on your add-on listing outside of the game, they want to know what the pack does within the first five seconds. Do not open your description with a three-paragraph fictional backstory about an ancient kingdom, and do not start with a changelog or a list of rules about redistributing your code. Start with a single, plain-English hook that summarizes the tangible content: how many entities, blocks, or mechanics are included, and how they change gameplay.

Follow that opening hook immediately with a compatibility and requirements block. Bedrock updates frequently break scripts and entity schemas, so players actively scan for version numbers before they bother reading feature lists. State the exact `min_engine_version` you tested against, whether the pack requires the Beta APIs toggle, and whether it works in multiplayer realms or alongside other add-ons.

Once the summary and requirements are clear, break your features into scannable categories using headings and bullet points. Players rarely read walls of prose. If your add-on introduces a new crafting station, show a screenshot of the block in the world, show the recipe grid, and write two sentences explaining what goes in and what comes out. Treat your description like a quick-start manual that a player will keep open on their phone while playing.

SectionWhat it doesNotes
1. The Hook1–2 sentences summarizing the core gameplay additionPlace above the first image so it appears in search snippets
2. RequirementsLists minimum Bedrock version and experimental togglesSaves you from answering the same comment fifty times
3. Feature ShowcaseCategorized images and short explanations of items/mobsFocus on how the player interacts with the content
4. How to ObtainExplains survival crafting, loot tables, or `/give` identifiersAlways include the exact namespace, e.g., `my_pack:copper_lamp`
5. Installation & FAQExplains `.mcaddon` import and common troubleshootingKeep at the bottom for players who are new to add-ons

Writing useful feature and crafting guides

The most frustrating part of trying a new add-on is loading into a world and having no idea how to start. Your description must bridge the gap between installing the pack and experiencing the content in both Survival and Creative modes. Never simply write that an item can be found in dungeons or crafted at a table. Specify which vanilla structures have modified loot tables, which biome tags spawn your custom entities, and whether recipes unlock automatically in the recipe book.

For Creative mode players and server administrators, always list the exact creative inventory group where your items live, as well as the custom identifier string for commands. If you place your blocks inside the `itemGroup.name.copper` category or a custom category in the Construction tab, state that explicitly. Providing a small code block or list of `/give @s namespace:item_name` commands in your description is hugely appreciated by players testing your pack.

If your add-on modifies vanilla behavior—such as editing `player.json` or overriding a vanilla mob—you must declare this clearly in a compatibility note. Because Bedrock loads behavior packs in a strict stack order, two packs that modify `entities/player.json` will conflict, and only the pack highest in the load order will work completely. Telling players upfront that your pack modifies `player.json` helps them diagnose why your pack might not work alongside another creator's work.

Common writing pitfalls to avoid

Avoid vague marketing promises like 'adds tons of cool new weapons and bosses' or 'completely overhauls survival.' Phrases like these sound like empty hype and make experienced players suspect the pack is unfinished. Be specific with your numbers and mechanics: 'adds 6 greatswords with custom sweep-attack scripts and 1 undead miniboss that spawns in roofed forests at night' tells the player exactly what they are downloading.

Do not hide unfinished features behind 'Coming Soon' headers that take up half the page. Players download an add-on for what is inside the `.mcaddon` file today, not what might be added in six months. If you want to share your roadmap, keep it to three or four bullet points at the very bottom of the page so nobody confuses planned features with currently playable content.

Finally, keep your license and permissions block concise and polite. Threatening readers in all-caps red text at the very top of your description creates a hostile first impression and does nothing to stop automated reposting bots. A simple, three-line notice at the bottom of your page stating what is allowed regarding showcase videos, modpacks, and file hosting is standard, professional, and respected by the community.

Which versions this applies to

Applies to all Minecraft Bedrock versions supporting format_version 2 manifests (1.13.0 through 1.21+). No experimental toggles are required to localize or format pack descriptions.

When it does not work

What you seeWhyThe fix
The in-game menu literally displays 'pack.description' instead of the actual text.Minecraft could not find or parse your language file. Either `texts/en_US.lang` is missing, `texts/languages.json` does not list `"en_US"`, or there is a space around the `=` sign in `pack.description=Your text`.Ensure `texts/languages.json` contains `["en_US"]` and verify there are no spaces before or after the equals sign in `en_US.lang`.
Failed to parse manifest.json: syntax error near unexpected line break or quote.You wrote a multi-line description or used unescaped double quotes (`"`) directly inside the `description` string of `manifest.json`.Move the text into `texts/en_US.lang`, or escape quotes as `\"` and line breaks as `\n` inside the JSON string.
Strange `Â` characters appear right before every colored word in the in-game description.The `.lang` or `.json` file was saved with ANSI or Windows-1252 encoding instead of UTF-8, corrupting the `§` section sign.Re-save both `manifest.json` and `en_US.lang` using strict UTF-8 encoding in your code editor.

Reference, straight from the game files

Read out of the game itself, so the ids match the version you are building for.