A .mcstructure stores a Bedrock build that can be placed again. It is useful for reusable camps, rooms and pieces of larger structures. This guide captures a small camp, exports it on a desktop installation with file export support and loads it from a behavior pack.
Decide what belongs in the structure
Use a copy of your build world. Pick a small piece with an obvious entrance and floor level so errors are easy to spot. Mark one corner temporarily with a bright block, and write down which side faces north. This gives you a reference when testing rotation later.
A structure is not a complete world backup. It does not replace the .mcworld export workflow. Also keep the pack definitions for any custom blocks or entities: capturing a build does not manufacture the resources that define them.
Capture the build with a structure block
In a Creative test world with cheats enabled, run:
/give @s structure_blockPlace the block beside the build and select Save mode. Set a recognizable name, then adjust the size and offsets until the preview bounds enclose the intended area. Microsoft's structure-block introduction covers the controls and corner-based selection.
Before saving, inspect all six faces of the selection. A roof cut off at the top and a floor omitted at the bottom can look correct from the entrance. Keep the structure block itself outside the captured region unless you intentionally want it copied.
Decide whether entities belong in this piece. A decorative camp may need only blocks; a test player’s dropped items and wandering mobs should not become part of every future copy. Inspect containers too: structure data can carry their contents, so empty debug supplies before export.
Export the Minecraft structure, not a 3D model
Use the structure export control to save the .mcstructure file. Do not choose 3D Export for this purpose: its .glb output is for viewing a 3D model, not for loading the build with Minecraft's /structure command. Export options depend on the device and game tooling; this walkthrough assumes a supported desktop workflow.
Keep the exported file in source control or a versioned project folder. The file is binary, so do not open it as JSON and save over it. Record dimensions, intended origin, facing direction and dependencies in a short companion note.
Put the file in a behavior pack
Use a valid behavior pack with a structures directory. For our example, the namespace folder is icedfox and the file is forest_camp.mcstructure:
ForestCamp_BP/
manifest.json
structures/
icedfox/
forest_camp.mcstructureActivate the pack in a second test world. Use a fresh test location well away from valuable builds, because loading a structure can replace existing blocks.
/structure load icedfox:forest_camp ~ ~ ~The identifier omits the file extension. Keep path spelling and capitalization consistent. The command reference also documents rotation, mirroring, entity inclusion and integrity. First prove the plain load works; add options one at a time.
Check the origin and boundaries
The requested placement position is a reference for the saved structure, not a promise that its doorway will land at that exact block. Compare your corner marker and floor against the destination. Fix the capture bounds or document the required offset before using the piece in scripts.
Load four copies in a clear grid, one for each rotation. Walk through doors, look underneath floors and inspect stairs, directional blocks and seams. Then load a copy beside terrain rather than in empty space. Air captured around the build may clear blocks where you wanted the surrounding terrain to remain.
Do not treat a screenshot of one successful placement as complete validation. A piece intended for a generated village needs predictable edges and entrances in every permitted orientation.
Move from one piece to generated structures
A manually loadable file does not automatically spawn in world generation. That requires additional generation configuration. For modular layouts, the Jigsaw Structure Builder helps plan pools and connections; the source pieces still need to exist and agree on their connection positions.
Start with two pieces and one connection. Confirm they join at the same floor height, with no accidental wall between their openings. Only then add weighted variants. If manual loading fails, debugging pool weights first adds another layer of uncertainty.
Troubleshoot by separating capture from loading
- Structure not found: confirm the behavior pack is active, check
structures, the namespace path and the identifier without its extension. - Missing roof or floor: inspect capture bounds in the source world and export again.
- Unexpected mobs or items: review entity inclusion and the original selection.
- Missing custom content: install and activate its required definitions and resource pack.
- Wrong orientation: return to the plain load and corner marker, then reintroduce rotation separately.
Finish by testing the packed release in a world that never contained the original build. That proves the behavior-pack file is doing the work, rather than a structure saved only in your development world.
Sources and verification
References checked on October 29, 2026. Examples were checked against these references and validated structurally; in-game acceptance checks are included above for your target version.
- Microsoft Learn: Introduction to Structure Blocks
- Microsoft Learn: Structure command
- Microsoft Learn: Pack contents