Skip to content
X-Plane 11 min read 577 views

How do I export Blender models to X-Plane?

Adam McEnroe
In short

Export Blender models to X-Plane OBJ8 correctly: install XPlane2Blender, set up textures, aircraft or scenery, and diagnose errors.

To export a Blender model to X-Plane, install an XPlane2Blender release compatible with your Blender and simulator versions, prepare an export root with UV-mapped textures, and write an OBJ8 file. Attach aircraft objects through Plane Maker or place scenery objects in WorldEditor; Blender does not create a complete aircraft or scenery package.

What file format does X-Plane use from Blender?

X-Plane uses its own OBJ8 format for rendered aircraft and scenery assets. Although the filename ends in .obj, OBJ8 is a simulator command format rather than a standard Wavefront OBJ file.

XPlane2Blender can write geometry, UV coordinates, texture declarations, level-of-detail ranges, animation commands, datarefs and cockpit manipulators. Blender's normal Wavefront exporter cannot create those X-Plane features, and changing a Wavefront file's extension does not convert it to OBJ8.

What you are makingOutput from BlenderWhat completes it
Aircraft exterior or cockpitOBJ8 files and image texturesAn .acf aircraft configured in Plane Maker
Custom scenery objectOBJ8 and its texturesA Custom Scenery package with placement exported from WorldEditor
Animated componentOBJ8 animation commandsA valid dataref, command or aircraft system that drives the movement

Can I import an X-Plane OBJ8 file into Blender?

No—not reliably with Blender's normal OBJ importer. That importer expects Wavefront records such as vertices, faces and material libraries, while OBJ8 contains X-Plane-specific drawing, attribute and animation commands.

An OBJ8-capable importer or conversion tool may recover the triangulated mesh, UV coordinates and basic texture references. Depending on what the tool supports, it may also interpret a limited selection of static transforms or animation commands. Results vary because an exported OBJ8 is a compiled simulator asset, not a lossless Blender project.

Do not expect a conversion to restore the original quads, modifiers, material nodes, collections, armature or clean keyframe setup. Dataref mappings, manipulators, show or hide logic and animation hierarchies may be discarded or require manual rebuilding even when their commands remain in the file.

The OBJ8 also contains no aircraft flight model. Engines, systems, mass, handling and other aircraft configuration live in the separate .acf file and must be created or rebuilt in Plane Maker. Use the original .blend source whenever it is available, and only convert another author's model when its licence permits modification.

X-Plane 11 and X-Plane 12 compatibility

X-Plane 11 and X-Plane 12 both use OBJ8 visual assets, but the correct exporter target and available material features can differ.

Compatibility pointWhat to do
Core geometry and UV mappingUse clean, triangulation-safe geometry and image textures for either simulator generation.
Exporter targetSelect the intended simulator target when the installed XPlane2Blender release offers that setting.
Materials and lightingDo not assume an X-Plane 12-specific material or lighting option will be interpreted identically by X-Plane 11.
Blender compatibilityMatch the exporter to the exact Blender release rather than assuming every add-on supports every LTS build.

Before installing XPlane2Blender, read its release notes and verify support for your exact combination of Blender, X-Plane 11 or X-Plane 12, and operating system. For example, the Blender 4.5 LTS label describes Blender's support cycle; it does not guarantee that a particular third-party exporter release can load in 4.5 LTS.

How do I install XPlane2Blender?

Install the packaged XPlane2Blender release through Blender's Add-ons or Extensions preferences, not through Blender's model-import menu.

  1. Obtain the matching release package. Use the packaged archive identified by the XPlane2Blender release notes rather than an unrelated source-code archive. Keep it zipped unless those instructions explicitly say otherwise.
  2. Open Blender's preferences. In Blender releases using the Extensions system, open Preferences, select Add-ons, open the menu and choose Install from Disk. Select the downloaded package.
  3. Enable the add-on. Search the installed add-ons for XPlane2Blender and enable it if installation did not do so automatically.
  4. Confirm that it loaded. The X-Plane properties and export controls should appear without an add-on load error. If they do not, check the Blender console or terminal output for a Python compatibility or package-layout error.

Our detailed XPlane2Blender installation and export-root walkthrough covers the interface setup in more depth. A common mistake is repeatedly reinstalling the same package when the real problem is that its release does not support the installed Blender generation.

How to export a Blender model to X-Plane

The reliable Blender-to-X-Plane workflow is to establish the scale, package destination and export root before adding complex materials or animation.

  1. Decide how the model will be used. An aircraft exterior, cockpit object, airport building and animated scenery object have different origins, datarefs and installation steps.
  2. Set the dimensions and orientation. Treat one Blender unit as one metre. For an aircraft workflow, the nose normally faces Blender's negative Y direction and Z points upwards; the exporter converts those axes for X-Plane. Put the origin at a useful aircraft reference point or at the ground contact point of a scenery object.
  3. Apply rotation and scale. Do this after sizing the model but before rigging it. Negative or unapplied scale often causes reversed normals, incorrect animation pivots and unexpectedly large or small objects.
  4. Clean the mesh. Remove duplicate and internal faces, correct outward-facing normals and inspect non-manifold areas. X-Plane renders triangles, so triangulate deliberately where automatic triangulation could alter a curved surface or moving part.
  5. UV-map the model. X-Plane does not reproduce Blender's procedural material graph. Bake required colour and surface detail into supported image maps, then save the actual files inside the aircraft or scenery package. Packing an image into the .blend alone is not enough.
  6. Create an X-Plane export root. Mark the intended collection or hierarchy as exportable and give it an output path. Panel wording varies between exporter releases, but geometry outside an enabled export root is not written.
  7. Set the simulator and object properties. Choose the X-Plane target, texture references, level-of-detail limits and applicable material options. Keep filename spelling and capitalisation identical because case mismatches can break resources on case-sensitive systems.
  8. Add animation only after the static model exports. Proving that scale, geometry and textures work first makes dataref and parenting faults much easier to isolate.
  9. Run the X-Plane exporter. Read its validation report before testing in the simulator. A validation error is generated by Blender or XPlane2Blender and can prevent the file from being written at all.
  10. Integrate and test the OBJ8. Attach it to an aircraft through Plane Maker or place it in scenery through WorldEditor. Only after X-Plane attempts to load it will simulator-side errors appear in Log.txt.

An OBJ8 commonly references an object-level colour texture plus associated lit and normal or material maps where supported. Split a model when separate texture sets, animation groups or practical LOD control require it—not merely because the Blender source contains many objects.

How do I export Blender animations and datarefs?

XPlane2Blender exports useful animation only when Blender keyframes are mapped to explicit X-Plane dataref values.

  • Place the object origin or bone pivot exactly on the hinge before animating a door, control surface or undercarriage component.
  • Build the parent-child hierarchy in movement order. A wheel can inherit a bogie's movement while retaining its own rotation, but only when the parenting is correct.
  • Map each relevant keyframe to a dataref value. Blender frame numbers by themselves do not tell X-Plane when the part should move.
  • Use show or hide animation for conditional visibility instead of moving an unwanted object far outside the model.
  • Add manipulators only to cockpit surfaces intended to accept mouse input, then connect them to the appropriate command or writable dataref.

Test the full input range. Reversed movement normally means the endpoint values or rotations are swapped; rotation around the wrong point means the origin, bone or hierarchy is wrong. For live diagnosis, our DataRefTool workflow for checking values inside X-Plane explains how to confirm that the chosen dataref changes as expected.

How do I turn the OBJ8 into a custom scenery object?

A custom object—sometimes called an oggetto personalizzato in Italian instructions—is an OBJ8 resource supplied by your own scenery package rather than selected from X-Plane's default library.

The package must sit below X-Plane/Custom Scenery/. For a placed object, use this practical structure:

  • Custom Scenery/My_Package/ — the package root.
  • Custom Scenery/My_Package/objects/ — the conventional location for the exported OBJ8 and its textures.
  • Custom Scenery/My_Package/Earth nav data/ — the placement data generated when WorldEditor exports the scenery pack.

The objects folder name is a strong convention rather than a requirement of the OBJ parser, but keeping the OBJ and textures together under a clear relative path prevents many missing-resource faults. An airport package may contain additional airport data; a library.txt file is not required merely to place your own object in your own package.

  1. Export the OBJ8 into the package. Put it under objects/ with every texture it references.
  2. Open the same package in WorldEditor. Find the local OBJ resource and place an object instance at the intended latitude, longitude, elevation and heading.
  3. Validate and export the scenery pack. This writes the simulator placement data under Earth nav data. Copying an OBJ into Custom Scenery without placing and exporting it will not make it appear.
  4. Load the location in X-Plane. Check the model's height, orientation, LOD behaviour and night textures, then inspect Log.txt for resource errors.

Our WED package, validation and in-simulator testing walkthrough covers the placement side without repeating it here.

How do I use the Blender object on an aircraft?

An aircraft OBJ8 must be stored inside the aircraft package and attached to its .acf definition through Plane Maker.

Plane Maker controls the flight model, engines, systems, dimensions, mass properties and references to visual objects. The Blender model supplies the rendered geometry; it does not turn into a flyable aircraft merely because the OBJ8 exports successfully.

Keep aircraft object and texture paths relative to the aircraft folder, then use Plane Maker to attach each exterior or cockpit object with the correct position and lighting behaviour. Our guide to attaching visual objects and configuring aircraft in Plane Maker explains that stage.

Why didn't my Blender-to-X-Plane export work?

First determine whether the failure happened during export or only when X-Plane tried to load the result. These are separate error systems.

Exporter validation messages appear in Blender or XPlane2Blender before or while the OBJ8 is written. They usually concern export roots, unsupported settings, missing textures or invalid animation configuration. X-Plane errors appear in the simulator's Log.txt after it attempts to load the OBJ8 or scenery package.

  1. Confirm compatibility. Verify that the installed XPlane2Blender release explicitly supports the Blender and simulator versions you selected.
  2. Check the export root. Make sure it is enabled, contains the intended mesh and points to a writable package location.
  3. Read the first validation error. Later messages can be consequences of the first fault. Fix that one, export again and confirm that the OBJ file's modification time changes.
  4. Investigate a generic error happened message. If Blender only reports error happened or another vague failure, open its system console or review the terminal output. The Python traceback usually identifies an incompatible add-on, bad property or file-access problem hidden by the short interface message.
  5. Try a minimal static export. Export one UV-mapped cube from the same root. If that works, the installation and destination are sound and the fault lies in the production model's materials, geometry or animation. If it fails, concentrate on the exporter installation, target and output path.
  6. Verify the written resources. Confirm that the OBJ8 is non-empty and that every referenced texture exists with exactly matching spelling and capitalisation.
  7. Test through Plane Maker or WorldEditor. X-Plane cannot display an unattached aircraft object or an unplaced scenery object.
  8. Read Log.txt after the failed load. Search for the OBJ filename, missing resource path or parsing error. The log is rewritten between simulator sessions, so inspect the run in which the failure occurred.
SymptomLikely causeFix
No OBJ file is createdNo valid export root, incompatible exporter or validation failureEnable the intended root and resolve the first exporter message
OBJ exists but is invisibleIt was not attached or placed, has the wrong scale, or is outside its LOD rangeCheck Plane Maker or WED placement, dimensions, origin and LOD limits
Model appears whiteMissing image, absolute development path or unsupported Blender materialSave a UV-mapped texture in the package and correct the relative reference
Faces appear inside-outReversed normals or negative scaleApply scale, remove duplicate surfaces and recalculate normals
Animation remains staticNo usable dataref mapping or incorrect value rangeAssign the intended dataref and map keyframes to explicit values
Surfaces flickerOverlapping coplanar facesRemove the duplicate face or separate the surfaces to stop z-fighting
Works in one X-Plane generation onlyWrong export target or simulator-specific material featureExport for the intended X-Plane version and remove unsupported options

What if I need to export from Blender to Aerofly?

Exporting from Blender to Aerofly or another simulator uses that simulator's own model format, exporter and package toolchain. XPlane2Blender produces X-Plane OBJ8 assets and is not a general-purpose flight-simulator exporter, although the cleaned mesh, UV mapping and baked textures may still be reusable in a separate Aerofly workflow.

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