Download it here!

It has been some time! I have been working as hard as I can on the converter (to great applause so far!), but, there have still been some features and fixes developed along the way. By now it was time to collect and release them!

As always This is a beta. It makes data model changes which may still have bugs. Make backups!


“Cast Shadow (Local)”

Previously, you could only set “Cast Shadow” to be on or off for “Scenery” and “Instanced Scenery” export types. This would, for the whole object, turn on and off shadows. Now, “Cast Shadow” has been removed from the OBJ settings and “Cast Shadow (Local)” has been placed in the material settings. With this, individual meshes can have shadows or not and it works for Aircraft and Cockpit objects too!


Compare the cones and cubes on the left with the ones on the right. You’ll see the power of being able to selectively turn off shadows.

  • If all materials used in an OBJ have “Cast Shadow (Local)” set to on (the default), everything will have a shadow.
  • If all materials used in an OBJ have “Cast Shadow (Local)” set to off, all objects will not have a shadow. If the export type is “Scenery” or “Instanced Scenery”, a performance boost will be applied.
  • If some materials have it on and some don’t, X-Plane will draw shadows only for the meshes you want. This is useful for performance around small complex meshes

“Cast Shadow” Updater

The updater does its best to recreate what XPlane2Blender 3.5.0 exported:

  1. If “Cast Shadows” was On, all materials will have “Cast Shadows (Local” on
  2. If “Cast Shadows” was Off, all materials will have “Cast Shadows (Local)” off
  3. If you have a material datablock that was shared between OBJs with different “Cast Shadow” values, the updater will give you a report of which OBJs may no longer look the same without intervention. You may need to change “Cast Shadow (Local)” or duplicate materials so each OBJ gets its own copy that is uniform.
An Example of Number 3

In this example, I have 4 OBJs (“Planes”, “Cubes”, “Cones”, “Rings”), Yellow means “Cast Shadows” was off in the OBJ, grey means “Cast Shadows” was on. The material Material_shared_1_should_be_on shared across the some of the cones and rings.

In this picture, the four selected objects, share the same material Material_shared_1_should_be_on.

The updater knows I’m about to get weird shadows turning off and on unlike before, so in the Updater Log it says

ERROR: Material 'Material_shared_1_should_be_on' is used across OBJs with different 'Cast Shadow (Global)' values:
Ambiguous OBJs | Cast Shadow (Global)
Cones | Off
Rings | On

INFO: 'Cast shadows' has been replaced by the Material's 'Cast Shadows (Local)'. The above OBJs may have incorrect shadows unless 'Cast Shadows (Local)' is manually made uniform again, which could involve making duplicate materials for each OBJ

To correct this, I made a duplicate of the material and used it for the cones. I unchecked “Cast Shadow (Local)” for it, and now Cones.obj has no shadows again!

If you are in this situation, please let me know how many materials across how many OBJs needed fixing and what you would have to do to get your old OBJs back. Although I asked and asked for an idea of how often people have .blend files with multiple “Cast Shadow” values and how often materials would be shared across them, I still want to hear feedback. If this was a terrible decision, tell me. If this is a rare edge case as I was told, tell me. If you are a rare edge case and need help clicking through a lot of stuff, tell me! I can help!

MAGNET VR Tablet Mounting Point

The Empty datablock a new special type – “Magnet”. This defines where on a yoke the VR tablet can be attached. Simply make an Empty, set it’s Type via Empty Properties > Data > XPlane > Type to Magnet. Position and pick the magnet type (at least one checkbox) and export. Easy!

Major Bug Fixes

  • Smart manipulators can use Show/Hide animations again! This was an unwritten requirement, and a bad one so we got rid of it!

Minor Bug Fixes

  • #422 Flash, Strobe, Pulse, Traffic light types no longer crash exporter. It was very surprising that this didn’t get reported sooner – I guess the feature isn’t used at all anymore
  • #421 Several sim/graphics/animation/lights/ lights were getting autocorrected when they shouldn’t have been. Specifically airplane_landing_light, airplane_landing_light_flash, airplane_strobe_light_dir, and airplane_generic_light_spill.

Also discovered but not fixed in X-Plane airplane_strobe_dir should really really only be used with RGB as 0 0 0 and XYZ aiming the light. Just in case anyone is searching desperately for how to use this light.

  • #411 Blender Objects must now be in the same scene that you started exporting in. For instance if MyEmptyRoot is in Main Scene and MyCube (whose parent is MyEmptyRoot) is in Second Scene, MyCube is simply ignored while exporting MyEmptyRoot.
  • #395 No more clicking the “Add LODs” button! It just happens for you. Yay!
  • #393 Changed some UI text from “Draw Linked Objects” to “Draw Objects With Material”
  • Fixed bug stop pit bug where pit at start would compare it’s height to the last in the list, causing errors.

Also! If you have Python experience and you’re interested in XPlane2Blender’s development, I could use some pull requests for some marked bugs, and would be happy to give you a tour of the code base! E-mail me or comment here to get in touch!

One comment on “XPlane2Blender v3.5.1-beta.1

  1. so speaking of shadows when are we going to get some modern shadowing code? like shader based stuff that wont bog the CPU down like every other game in the world?

Leave a Reply

Your email address will not be published. Required fields are marked *

Please do not report bugs in the blog comments.
Only bugs reported via the X-Plane Bug Reporter are tracked.