Prepar3D 6 min read

How do I import a Blender model into Prepar3D?

Adam McEnroe
In short

Import a Blender model into Prepar3D correctly: match the SDK and exporter, compile an MDL, package textures, and fix common errors.

Prepar3D cannot read a Blender .blend file directly. Install the SDK that matches your Prepar3D version, use a Blender exporter compatible with that SDK, prepare P3D materials and animations, compile the export with XToMDL into an MDL, then package it as scenery or place it in a SimObject.

What tools do I need for Blender-to-Prepar3D export?

You need the target version's Prepar3D SDK and a Prepar3D-capable Blender exporter. The exporter must support both your Blender release and the SDK's model format; matching only one side is not enough.

  • Matching Prepar3D SDK: this supplies XToMDL, BGLComp, modeldef.xml and the relevant documentation.
  • Compatible Blender exporter: this converts Blender geometry and P3D-specific material or animation data into an intermediate file, then normally invokes XToMDL.
  • A package structure: the compiled model must be installed as scenery or as part of a SimObject. An MDL sitting by itself in an arbitrary folder will not appear.

Use the SDK supplied for the Prepar3D release you are targeting rather than borrowing tools or modeldef.xml from another major version. Our Prepar3D SDK installation and version-matching guide covers the compiler, exporters and required SDK paths.

FBX, OBJ and glTF can be useful interchange formats, but Prepar3D does not load them directly at runtime. They also tend to lose P3D animation tags, material parameters, attachment points and level-of-detail definitions.

How do I export and compile the Blender model?

The reliable workflow is to prepare the asset for Prepar3D before exporting, not to repair scale, materials and animations after compilation.

  1. Choose the asset type. Decide whether the model is static scenery, an aircraft model or another SimObject. Static scenery is the simplest first test; a flyable aircraft needs flight dynamics, configuration files, effects and systems beyond its 3D model.
  2. Set real-world dimensions. Most P3D export workflows expect metre-based dimensions. Check the exporter's unit setting, size the object correctly, and apply Blender's rotation and scale transforms before export.
  3. Clean the mesh. Remove duplicate or non-manifold geometry, recalculate outward-facing normals and confirm how the exporter handles triangulation. Keep a valid visible level of detail; an incorrect LOD range can make an otherwise valid object disappear.
  4. Prepare runtime materials. UV unwrap the model and assign materials supported by the target SDK. Prepar3D cannot evaluate Blender's procedural shader graph, so bake procedural colour, roughness and other effects into texture maps. Use PBR parameters only where the target P3D version and exporter support them.
  5. Prepare the textures. DDS textures with mipmaps are the normal production choice. Use simple filenames and place the finished files in the package's texture folder rather than relying on absolute paths from your Blender project.
  6. Add animations where required. Assign animation tags defined by the matching SDK's modeldef.xml, preserve the parent-child hierarchy and use the keyframe range expected by that definition. A static object does not need animation tags.
  7. Configure the exporter. Point it to the matching XToMDL compiler and modeldef.xml. Some exporters create an intermediate .x file and call XToMDL automatically; others present the result as a direct MDL export.
  8. Compile and inspect the log. Do not treat the appearance of an MDL file as proof that every feature compiled. Resolve missing-texture, unsupported-material, animation and geometry warnings before packaging it.
  9. Test a minimal package. Load one model with one basic material first. Add PBR maps, animations, effects and extra LODs only after the simple version appears correctly in Prepar3D.

Where does the compiled Prepar3D model go?

The destination depends on what the Blender model represents. A mistake we see constantly is treating a successful MDL compilation as a complete Prepar3D add-on.

AssetRequired outputRuntime location
Static sceneryModel-library and placement BGL data, often in separate files, plus texturesAn active scenery package with scenery and texture folders
Aircraft exterior or interiorOne or more MDL files referenced by model.cfgThe aircraft's model subfolder inside its SimObject package
Other SimObjectMDL and the configuration files required by that SimObject categoryThe appropriate SimObjects category or an add-on package

For scenery, assign the library object a unique GUID, compile the library and placement data with the SDK tools, and register the package with Prepar3D. The practical scenery packaging and registration steps for Prepar3D v5 explain both add-on.xml and Scenery Library methods.

For an aircraft, model.cfg must reference the MDL filename correctly, normally without its extension. Importing the Blender mesh does not create a flyable aircraft by itself; the aircraft still needs its configuration, flight model, contact points, systems and any cockpit components.

Why doesn't my Blender model appear in Prepar3D?

Most missing Blender models are caused by an SDK mismatch, inactive package, incorrect placement, broken GUID reference or invalid LOD—not by Prepar3D failing to understand the mesh.

SymptomLikely causeFix
No MDL is producedWrong SDK path, incompatible exporter or compiler errorMatch the exporter to the Blender and P3D versions, then read the first meaningful XToMDL error rather than later cascading messages.
Scenery object is absentInactive scenery package, wrong coordinates, altitude error, GUID mismatch or invalid LODConfirm the package is enabled, test at a known location and verify that the placement reference uses the compiled library object's GUID.
Model is enormous, tiny or rotatedUnit mismatch or unapplied Blender transformsCheck real dimensions and exporter units, then apply rotation and scale before recompiling.
Parts vanish from one sideReversed normals or single-sided geometryDisplay face orientation in Blender and recalculate the affected normals outward.
Textures are blank, black or missingUnsupported Blender nodes, absent files or incorrect runtime texture locationBake procedural materials, use supported maps and place every referenced texture in the active package's texture folder.
Animation remains staticMissing animation tag, wrong modeldef.xml, incorrect key range or broken hierarchyUse the target SDK's animation definition and confirm that the exporter recognises the tag before compilation.
Model looks flat or excessively shinyBlender material values did not translate into P3D parametersConfigure the material through the exporter and verify the expected diffuse, normal, specular or PBR maps for the target simulator version.

If loading the package crashes Prepar3D rather than merely hiding the object, remove it, confirm the simulator starts cleanly, and restore a stripped-down model without animations or complex materials. Our Prepar3D add-on crash isolation checklist covers the next diagnostic steps.

AI Assistant New

Still stuck? Ask Fly Away

Ask Fly Away is our AI flight-sim assistant. Ask your exact question and get a direct, step-by-step answer in seconds — free to try.

Ask Fly Away Free preview · unlimited for PRO members