Export a Minecraft World to Unity for VRChat

Unity cannot open a Minecraft save as a finished scene. A conversion tool must first turn a selected region into mesh and texture files. Unity then needs a separate pass for scale, materials, collision, lighting, interaction, and performance.

Export geometry from a copy of the world. Do not experiment on the live server directory or the only copy of a save.

Recommended conversion route

Prove one small Java Edition region before processing a large map.

  1. Stop the server if necessary and make a separate copy of the complete world folder.
  2. Use Mineways to select a bounded region and export it for rendering as OBJ, MTL, and texture files.
  3. Import the files into a clean Unity test scene and rebuild collision, materials, lighting, and interaction before expanding the region.
The export is not a VRChat world yet

Blocks become visible mesh data. Minecraft entities, redstone behavior, inventories, commands, server plugins, portals, doors, and gameplay do not become VRChat systems automatically. Rebuild required behavior with supported Unity and VRChat SDK components.

Choose the Correct Tool

World conversion and mesh export are different operations.

Tool Input and output Use it for
Mineways Opens Java Edition worlds or supported schematics and exports formats including OBJ and USD Selecting a region and producing mesh, material, and texture files
jMc2Obj Opens a Java Edition world and exports OBJ and MTL data An alternative Java-based OBJ exporter
Chunker Converts supported Java and Bedrock world formats Preparing a compatible world format before mesh export
MCprep Processes Minecraft assets in Blender Optional Blender material, texture, and rendering preparation

Chunker does not produce a Unity-ready mesh. If the source is Bedrock Edition, use Chunker to create a compatible Java Edition working copy, inspect that converted world in Minecraft, and then use a mesh exporter.

Tool support changes with Minecraft versions and block data. Check the exporter's current documentation before converting a new release, modpack, custom resource pack, or add-on world.

Confirm You Can Use the Content

Before publishing a converted scene:

  • Export a world you created or have permission to use.
  • Confirm that collaborators and server owners approve the reuse.
  • Check the licence for custom resource packs, models, textures, maps, mods, and add-ons.
  • Review the current Minecraft Usage Guidelines when sharing a Minecraft-derived project.
  • Do not present the VRChat world as an official Minecraft or Mojang product.

Minecraft's guidelines can change and do not replace permission from third-party asset creators. Keep records for custom content included in the conversion.

Make a Safe World Copy

Single-player world

Close Minecraft, locate the save folder, and copy the complete world directory into a separate working folder. Confirm the copy contains level.dat before opening it in the exporter.

Server world

  1. Notify users and stop the server cleanly.
  2. Wait for the server process to exit.
  3. Copy the complete world data required by that server configuration.
  4. Start the server again only after the copy finishes.
  5. Run export tools against the copy.

Copying region files while a server is writing them can produce an inconsistent working snapshot. Do not point the exporter at the active production directory.

Inspect Edition, Version, and Custom Blocks

Record:

  • Java or Bedrock Edition.
  • The Minecraft version that last saved the world.
  • Dimensions and regions required for the VRChat scene.
  • Resource packs used for the intended appearance.
  • Mods, add-ons, custom blocks, or entities in the selected region.

Exporters commonly reproduce supported block geometry and textures, not the complete game state. Unsupported blocks may be missing, substituted, or exported incorrectly. Entities and animated or procedural behavior require separate review.

Open a converted Java/Bedrock world in Minecraft before mesh export. Confirm the landmark, block orientation, custom content, and dimension survived the world-format conversion.

Select a Controlled Region in Mineways

Mineways can open the normal Java save location through File > Open World. For a copied save elsewhere:

  1. Select File > Open.
  2. Browse to the working world's level.dat.
  3. Navigate to the required landmark.
  4. Set the upper and lower export heights.
  5. Drag a selection around the required region.
  6. Review the selected boundary and depth.

The selected three-dimensional box determines what is exported. Exclude:

  • distant terrain outside the playable scene
  • underground caves that will never be visited or seen
  • unused dimensions
  • hidden infrastructure and test builds
  • large volumes included only because the selection was imprecise

Use Mineways culling and mesh-simplification options only after reading their descriptions and comparing an export. Keep the original world copy so another export can be generated with different settings.

Export OBJ, MTL, and Textures

With the region selected:

  1. Select File > Export for Rendering.
  2. Choose Wavefront OBJ.
  3. Save the export into a new, empty folder.
  4. Keep the generated .obj, .mtl, texture images, and export settings together.
  5. Preview the OBJ in a model viewer or Blender before importing it into Unity.

Mineways documents OBJ as its normal rendering export. The OBJ contains mesh data, the MTL describes materials, and the generated image files provide textures.

Check the preview for:

  • missing blocks or faces
  • incorrect rotation or vertical direction
  • unwanted underground geometry
  • transparent blocks and billboard plants
  • material grouping
  • an unexpectedly large mesh

If the selection is wrong, change the exporter settings and create a new export rather than repairing a fundamentally unsuitable region in Unity.

Use jMc2Obj as an Alternative

jMc2Obj provides another Java-based OBJ workflow:

  1. Download a release from the project's official site or repository.
  2. Open the copied Java Edition save folder.
  3. Load the world and select the required region.
  4. Review its export options and grouping.
  5. Export the OBJ and MTL files into a dedicated folder.
  6. Preview the result before Unity import.

Exporter output can differ in block support, material grouping, normals, and handling of custom resources. Test the same small region when comparing tools.

Optional Blender Cleanup

Use Blender between the exporter and Unity when the mesh requires structural work:

  • delete unseen interiors or terrain
  • separate playable and background sections
  • repair normals
  • reduce or reorganize material slots
  • create cleaner pivots and origins
  • build lightmap-ready UVs
  • simplify geometry
  • replace billboard or transparent foliage
  • export a controlled FBX

MCprep can assist with Minecraft material and render preparation in Blender, but it does not automatically produce optimized VRChat collision, lighting, or interaction.

Keep the original OBJ and textures unchanged. Save Blender work as a new source file so the conversion can be repeated.

Import Into Unity

Create a dedicated folder such as:

Assets/Imported/Minecraft/RegionName/

Copy the model, material description, and textures into that folder. Unity 2022.3 includes import support for OBJ.

Select the imported model and review:

  • Scale Factor and object dimensions.
  • Mesh orientation and normals.
  • Material import and remapping.
  • Read/Write state.
  • Mesh compression.
  • Generate Lightmap UVs if the retained mesh will receive baked lighting.
  • Automatically generated colliders.

Place the model in a blank scene with a known player or avatar-scale reference. Choose a scale, record it, and keep that scale consistent for every later export from the same source world.

Do not compensate for an incorrect conversion by applying different arbitrary Transform scales to many chunks.

Rebuild the Materials

The imported MTL may create materials that are useful for previewing but not suitable for the final world.

Review:

  • missing texture assignments
  • opaque, cutout, and transparent block groups
  • water, glass, leaves, emissive blocks, and animated textures
  • duplicate material assets
  • unnecessary material slots
  • shaders for Windows and Android targets

For sharp block textures, test Point filtering and appropriate compression in the Texture Importer. Use mipmaps for surfaces viewed across changing distances, then compare image stability in VR.

Animated Minecraft textures do not become Unity animation automatically. Rebuild only the animated effects the world actually needs.

Replace the Collision

Do not give an entire dense export one unrestricted Mesh Collider and assume it is ready.

Build collision around the playable route:

  • box colliders for flat floors, walls, and simple block structures
  • simplified collision meshes for irregular terrain
  • no collision for distant or decorative detail
  • separate colliders for stairs, ramps, boundaries, and interaction surfaces
  • appropriate Unity layers for walkable and non-blocking objects

Test doorways, corners, one-block steps, narrow gaps, slopes, spawn, and world boundaries. Player movement should follow the intended route without matching every visible block face.

Rebuild Minecraft Behavior

The mesh is static scenery. Recreate required behavior explicitly:

Minecraft feature VRChat/Unity replacement work
Doors, levers, buttons, or traps Animator plus supported Udon interaction
Redstone machines New Udon logic designed for the required result
Chests and inventories Custom UI and Udon data model
Mobs, armor stands, or entities Imported or recreated models with supported animation and logic
Portals and teleporters VRChat world components or Udon teleport behavior
Command blocks and server plugins New Udon systems; server code is not converted
Minecraft lighting Unity lights, baked lightmaps, light probes, and emissive materials

Build and test one interaction at a time. Do not attempt to translate server logic mechanically without defining its VRChat behavior and networking.

Prepare Lighting and Visibility

The exported mesh does not include a finished Unity lighting solution.

  1. Separate static geometry into useful lighting and visibility sections.
  2. Generate or author secondary UVs for retained lightmapped meshes.
  3. Configure a skybox and environment lighting.
  4. Use baked lighting for static structures where appropriate.
  5. Add light probes for moving objects.
  6. Bake and inspect the result.
  7. Add LOD or occlusion culling only where the scene structure benefits.

One enormous mesh is difficult to cull and lightmap efficiently. Keep logical chunks that Unity can exclude when they are not visible, while avoiding thousands of unnecessary tiny renderers.

Optimize for VRChat Platforms

Use Run a VRChat World Optimization Pass after the first playable import.

Focus on:

  • visible geometry and renderer count
  • material slots and draw calls
  • texture dimensions and platform compression
  • transparent blocks and foliage
  • collision complexity
  • lightmap memory
  • distant terrain
  • optional effects and interactions

For Android and Quest, create a deliberate platform pass with lower geometry, simpler materials, smaller textures, baked lighting, and less transparency. Build and test on the target device.

The raw export is often best used as a reference. Rebuilding the important structures with modular Unity meshes can be faster and more efficient than repairing every part of a very large conversion.

Conversion Completion Checklist

  • The original Minecraft world and the export working copy are separate.
  • The selected region excludes unneeded terrain and underground geometry.
  • OBJ, MTL, textures, and exporter settings are preserved together.
  • The model has one recorded Unity scale and correct orientation.
  • Materials and transparent block groups have been reviewed.
  • Playable collision has been rebuilt and tested.
  • Required lightmap UVs and lighting are prepared.
  • Minecraft interactions have explicit VRChat replacements.
  • The scene has been tested with VRChat Build & Test.
  • Windows and Android variants are evaluated separately when both are supported.
  • Minecraft, resource-pack, map, mod, and collaborator permissions have been checked.

Troubleshooting

Mineways cannot find the copied world

Use File > Open and select the copy's `level.dat`. Confirm the folder is a complete Java Edition world and was not copied while the source server was still writing data.

The Bedrock world does not open in the mesh exporter

Create a compatible Java Edition working copy with Chunker, open that copy in Minecraft to inspect the conversion, and then export its geometry. Chunker converts world formats; it does not create the Unity mesh.

Unity freezes or takes too long to import the OBJ

Cancel when safe, remove the attempted import, and export a smaller region or fewer vertical layers. Preview and clean the mesh in Blender before trying another isolated Unity import.

Blocks, entities, or modded content are missing

Check the exporter's supported Minecraft versions and block data. Entities and gameplay are not part of a normal OBJ export, while custom blocks may require resource-pack support, manual replacement, or another exporter.

The textures are blurry, transparent, or assigned incorrectly

Keep the OBJ, MTL, and texture paths together, then inspect material remapping and texture import settings. Separate opaque, cutout, and transparent materials and test Point filtering when preserving pixel edges.

Players catch on block edges or fall through the terrain

Replace raw mesh collision with simplified player-focused colliders. Check collider gaps, triggers, layers, stairs, slopes, and boundaries in VRChat Build & Test.

Continue Learning

Official and Tool References

Next Step

Export one small representative region, import it into a blank Unity scene, and complete the scale, material, collision, and performance checks before exporting additional chunks.

Related Navigation