Rotation when importing from Blender

I created a simple object with blender and then i saved it as a *.blend file. i dragged the file into Unity and it worked perfectly, but i noticed that the rotation was not set to 0,0,0 so i set it to that rotation and my object turn into another rotation that the one i wanted the object to be. so in conclusion, blender sets the object rotation to another. i tried rotating the object in blender, but it always change, i can’t set the rotation like i want it to be.

UPDATE: I see that people still find this topic and apply the original fix I wrote. There is a simpler and better way for some time now. Here is a little Blender script with it’s own GUI

It’s the FBX exporter and the difference of the coordinate systems between Blender and Unity, and simple to fix.

In object mode, set the X rotation of your model to -90. Press Ctrl + A and apply rotation, X rotation appears to be 0 now in Blender, set it to 90 and save/export it. You’ll see that it will appear both correct and at 0 rotations now.

As @Sarper-Soher said, after editing process finished, you must rotating -90d in X axis, apply rotation with CTRL/CMD + A, then rotate 90d. And in Unity, the rotation should be 0,0,0. But, in my experience, I noticed that the models in Blender, that is looking forward, for example, a car with the engine what is loocking forward, when imported to Unity, is loocking backwards. So, to fix that, before you do the process shown by Sarper, you must rotate the model 180d in Z Axis in Blender, and apply rotation with CTRL/CMD + A. The model in Blender seems looking to backward, but, when you export to Unity, it is facing forward (In the car example, now the engine part, or the car hood is facing with Unity Z Axis).
(Sorry about my english, hope you can understand)

Blender can export proper rotations now for those that use FBX.

I’ve made this work with Blend but not extensively tested for viablility in anything but simple situations.

Hi everyone. Maybe a simple way :

1- “copy component values” from the “transform” properties of your object (with his 90° rotation)

2- create an empty GameObject

3- drag your object into this new GameObject (now the rotation is applied to this)

4- paste the “transform component value” on your inital object (to restore the rotation)

5- reset the new GameObject transform value (Rotation = 0)

6- then add navmesh to the new GameObject

7- bake the navmesh.

That’s work for me and you still edit your mesh in blender.

If anyone finds this useful, i’ve rotated the AR camera +90 degrees on the X-axis and it worked for my AR project.

Man, this problem is a nightmare. I crated a robot in blender, I checked every step if it loads right in unity. finally, rigging and a lot of animations finished and it loads face down in unity. I can turn it alright but if I use character controller my robot slides like a penguin over the platform. Why is this still such a big problem? Unity forcing people to use other 3d software? why is there no option in unity to just tell what is the correct orientation?