Preparing Blender Models for Unity Part Tools - the-dev-hole/the_ksp_1_modding_bible GitHub Wiki

Exporting as FBX

Unity has the ability to use .blend files directly as an asset. However, this can be problematic with certain object hierarchies in the file and is generally discouraged. A better method that allows for more control is to export the model as an FBX first, but this itself comes with the challenge of coordinate systems:

  • Blender is Z-up, whereas Unity is Y-up.
  • Blender uses a right-handed coordinate system, whereas Unity is left-handed.
  • Blender works with units x100 larger than Unity.

Exporting FBXes directly without configuring the export properly can lead to issues with scaling and rotations. Luckily, the export settings are straightforward and simple to set up.

Model preparation

Before exporting, parent all objects in the part to an empty. Rotate the empty such that its positive Y-axis is facing upwards: usually rotating 90 degrees on the global X axis is enough. Setting the empty's Display As mode to Arrows can aid orientation.

FBX export settings

When exporting an FBX (in Blender, File > Export > FBX (.fbx)), use the following settings:

  • Transform/Scale set to 1.0.
  • Transform/Apply Scalings set to FBX Units Scale.
  • Transform/Forward set to Z Forward.
  • Transform/Up set to Y Up.
  • Transform/Apply Unit enabled.
  • Transform/Use Space Transform enabled.
  • Transform/Apply Transform disabled.

For animations:

  • Animation/NLA Strips disabled.
  • Animation/All Actions disabled.

These settings should result in a correctly oriented and scale model with proper hierarchy in Unity.

Blender unfortunately doesn't remember these settings between sessions, so it's recommended you save an operator preset in that export dialog. In future you'd be able to simply select that preset to load all these settings again.