Wiki 9Minecraft Wiki 9Minecraft

Installing an Add-on on Windows

How to install, test, and update Bedrock behavior and resource packs on Windows 10 and 11.

6Sections
2Code examples
4Known errors

Installing an add-on on Windows happens in one of two ways: importing a packaged archive for playtesting, or placing loose files directly into the game's development folders for active creation. Knowing which directory to target and how the game caches installed packs is essential for a fast, frustration-free workflow. This reference covers the exact file paths, packaging rules, and import mechanics used by Minecraft Bedrock Edition on Windows.

Installation methods: Import vs Development folders

Minecraft on Windows separates add-ons into two distinct storage tracks based on how you install them. When you double-click a packaged add-on file, the game extracts its contents into standard storage folders (`behavior_packs` and `resource_packs`). Once imported this way, the game treats the pack as a finished product. If you change the original file you downloaded or built, the game will not see those changes unless you increment the pack version or delete the old installation first.

When you are actively writing JSON or scripts, you should skip the import process entirely and place your unzipped pack folders directly into the development directories (`development_behavior_packs` and `development_resource_packs`). The game treats folders in the development directories as live workspaces. Whenever you exit to the main title screen and reload a world, or run the `/reload` command for scripts and functions, Minecraft reads your changes straight from these folders without requiring you to change UUIDs or bump version numbers.

ExtensionContentsTarget Folder on Import
.mcpackA single behavior pack OR a single resource pack, zipped with `manifest.json` at the root.`behavior_packs` or `resource_packs`, determined by the `modules` type in the manifest.
.mcaddonA zip archive containing multiple `.mcpack` files or separate BP and RP folders.Splits contents into both `behavior_packs` and `resource_packs` simultaneously.
.mcworldA complete Bedrock world folder, often with packs already embedded inside it.`minecraftWorlds` as a new, playable world save.
Unzipped folderLoose files with `manifest.json` directly inside the main pack folder.Must be placed manually into `development_behavior_packs` or `development_resource_packs`.

Locating the com.mojang folder on Windows

All local add-on files, world saves, and configuration logs live inside a single directory known as the `com.mojang` folder. On Windows 10 and Windows 11, this folder is buried inside your user profile's hidden `AppData` directory under the Universal Windows Platform (UWP) package storage for Minecraft.

Because `AppData` is hidden by default in File Explorer, the fastest way to reach your installation directory is through the Windows Run dialog. Press `Win + R` on your keyboard, paste the following environment path into the box, and press Enter:

com.mojang_path.txt
%localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang

Understanding the com.mojang directory structure

Once you open the `com.mojang` directory, you will see several subfolders. If you have just installed the game for the first time, some of these folders might not exist yet; launching a world once usually forces the game to generate them, or you can create them yourself using exact lowercase names. Do not rename the `com.mojang` folder itself, and consider pinning it to your File Explorer Quick Access sidebar if you build add-ons regularly.

Notice the distinction between standard folders and development folders. When you attach a behavior pack from `development_behavior_packs` to a world, Minecraft links the world to that folder by its UUID rather than copying the files into the world save. By contrast, packs activated from the standard `behavior_packs` folder are often copied directly into the world's own `world_behavior_packs` directory so the world remains self-contained.

Folder NamePurposeNotes
development_behavior_packsLive workspace for behavior packs in progress.Changes apply on world reload or `/reload`. Not deleted when removing packs via the in-game UI.
development_resource_packsLive workspace for resource packs in progress.Reloads assets when exiting and re-entering a world.
behavior_packsStorage for imported `.mcpack` and `.mcaddon` behavior packs.Managed through Settings > Storage in-game.
resource_packsStorage for imported `.mcpack` and `.mcaddon` resource packs.Can be applied globally in Settings or per-world.
minecraftWorldsContains every local world save in obfuscated folder names.Open a world folder and check `levelname.txt` to see which world it is.

Installing packaged .mcpack and .mcaddon files

To install a packaged add-on, locate the `.mcpack` or `.mcaddon` file in Windows File Explorer and double-click it. Windows uses the file extension association registered by Minecraft to launch the game automatically (or bring it to the foreground if it is already running). Once the main menu finishes loading, a banner appears at the top of the screen reading "Import started...", followed a moment later by "Successfully imported" along with the name of your pack.

When packaging your own add-on for Windows users to install this way, the structure of the zip archive is strict. If you are making a `.mcpack`, you must select the contents of your pack (the `manifest.json`, `pack_icon.png`, and subfolders like `entities` or `blocks`) and zip them directly. Do not zip the parent folder itself, or the game will look at the root of the archive, fail to find `manifest.json`, and abort the import.

If Windows does not recognize the `.mcpack` or `.mcaddon` extension—which often happens if a browser renamed the download to `.mcpack.zip`, or if another archive utility hijacked the file association—first enable "File name extensions" in the File Explorer View tab and remove any trailing `.zip`. If the icon still does not show the Minecraft grass block, right-click the file, select "Open with" > "Choose another app", select Minecraft from the list, and check the box to always use this app.

Installing loose folders for development

For your own projects, create a new folder inside `development_behavior_packs` (for example, `my_custom_bp`) and another inside `development_resource_packs` (for example, `my_custom_rp`). Inside each folder, create a valid `manifest.json` file. Minecraft will not display a folder in the in-game pack list unless its `manifest.json` parses cleanly as valid JSON and contains unique V4 UUIDs in both the header and the modules array.

If you want your resource pack to activate automatically whenever you add your behavior pack to a world, you can link them using the `dependencies` array in the behavior pack's manifest. Place the UUID of the resource pack's `header` (not its module UUID) into the `dependencies` block of the behavior pack:

BP/manifest.json
{
  "format_version": 2,
  "header": {
    "name": "My Development Behavior Pack",
    "description": "Loaded directly from development_behavior_packs",
    "uuid": "c8d94b76-50e1-48f3-8a6b-112233445566",
    "version": [1, 0, 0],
    "min_engine_version": [1, 20, 80]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "a1b2c3d4-e5f6-47a8-9b0c-665544332211",
      "version": [1, 0, 0]
    }
  ],
  "dependencies": [
    {
      "uuid": "f9e8d7c6-b5a4-4321-8765-123456789abc",
      "version": [1, 0, 0]
    }
  ]
}

Activating packs and enabling the Content Log

Putting files into the `com.mojang` directories only makes them visible to Minecraft; they do not affect gameplay until you attach them to a world. From the main menu, click Play, then click the Edit (pencil) icon next to your test world, or create a new world. Scroll down the left sidebar to the Add-Ons section. Select Behavior Packs or Resource Packs, open the "Available" tab, find your pack under the "My Packs" dropdown, and click Activate to move it into the "Active" tab. Resource packs can also be enabled across all worlds via Settings > Global Resources from the main menu, though per-world activation is safer when testing add-ons.

Before you load into the world to test an installation, always turn on the Content Log. Go to Settings > Creator from the main menu and enable both "Enable Content Log File" and "Enable Content Log GUI". If your pack installed properly into the Windows directory but has a syntax error in a block, entity, or item file, the Content Log GUI will print the exact file path and line number on screen the moment the world opens.

Which versions this applies to

Applies to all modern versions of Minecraft Bedrock Edition on Windows 10 and Windows 11 (UWP / GDK builds). No experimental toggles are required to install or load standard add-ons, though individual features inside your pack (such as beta script APIs) must still have their corresponding world experiments enabled when activating the pack.

When it does not work

What you seeWhyThe fix
Toast notification reads: "Failed to import 'PackName.mcpack'" with "Duplicate pack detected" in the details.A pack with the exact same `header.uuid` and `header.version` already exists in your `behavior_packs` or `resource_packs` folder from an earlier import.Go to Settings > Storage in-game, expand Behavior Packs or Resource Packs, delete the existing copy of the pack, and re-import. Alternatively, increment the version array in `manifest.json` (for example, from `[1, 0, 0]` to `[1, 0, 1]`) before zipping.
Toast notification reads: "Failed to import" with "Unknown pack name" or "Could not find manifest.json".You zipped the outer folder containing the pack rather than the files inside it, creating an extra folder layer (`Pack.mcpack/MyFolder/manifest.json`), or your `manifest.json` contains a trailing comma or syntax error.Open the `.mcpack` archive and verify that `manifest.json` sits at the root level of the zip. Run your `manifest.json` through a JSON validator to check for missing quotes or trailing commas.
A folder placed in `development_behavior_packs` does not show up under "My Packs" in the world settings.Either the `header` and `modules` in `manifest.json` share the exact same UUID, or the module `type` is set to `resources` instead of `data` inside the behavior pack folder.Generate two completely separate V4 UUIDs for the header and the module. Ensure behavior packs use `"type": "data"` (or `"script"`) and resource packs use `"type": "resources"`.
Edits made to files in `development_behavior_packs` do not appear in the world even after saving and reloading.You previously imported the same pack as a `.mcpack`, so a cached copy in `behavior_packs` or inside the world's own `world_behavior_packs` folder is overriding your development folder.Check Settings > Storage and delete any cached copies of the pack. Also open `minecraftWorlds`, locate your test world folder, and check its internal `behavior_packs` and `resource_packs` subfolders to make sure an older copy was not baked directly into the save.

Reference, straight from the game files

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