Unity imports Blender3D objects as FBX via a little Python script:
Often distortions can come as a result of modifiers and/or scales existing through your transform hierarchy. In Object mode in Blender, always have your rotations set as (0,0,0) and your scales set as (1,1,1) otherwise you will have issues. You can apply those transforms in Blender.
Unity runs this script to import your Blender files via transient FBX export:
./Hub/Editor/2020.1.5f1/Unity.app/Contents/Tools/Unity-BlenderToFBX.py
./Hub/Editor/2020.2.1f1/Unity.app/Contents/Tools/Unity-BlenderT…
The Python script that Unity uses (substitute your Unity version number or search) to import:
./Hub/Editor/2020.2.1f1/Unity.app/Contents/Tools/Unity-BlenderToFBX.py
Take a look around it to see if it’s got any version stuff that might behave weird. I haven’t used 3.0 yet but I know I did some tweaks to my import scripts when it went to 2.8, and now I have to do those same changes every time I update Unity, just because some of my older projects rely on it.
More on fixing it:
There are no "mesh files" from a standard Blender import. Unity imports a Blender file as a series of different assets depending on what you put into it in the first place: GameObject, MeshRenderers, Meshes, Materials, etc.
All Unity does when it imports a blender file is call the Unity-BlenderToFBX.py script (located in your installation of Unity) and imports stuff.
If you recently upgraded Unity, around Unity2019 or so, they changed what they imported, so it will reshape EVERYTHING in your…
Blender3D objects used as trees / detail in Unity3D terrain (See the second half of this response)
This might be because your scene includes the default camera and lights. Unity started importing those with its default Blender import script starting sometime in Unity2019 and it will break a lot of prefabs.
You can either a) remove the Camera and Light and everything except the LOD group objects (properly named), or you can modify the Blender import script embedded in Unity. This means you would need to re-modify it every time you switched to a new version of Unity, but I was …
NEVER rename items in Blender after you have imported into Unity, because then Unity imports them as though they were new GameObjects. That's how the mapping works if you look in the .meta file associated with your Blender file. It is done by name.
I would also NEVER reparent them because of the root (-90,0,0) rotation issue when going from Blender's right-hand system to Unity's left-hand system. Reparenting potentially moves an object in or out of the guard area for this rotation.
…