This is a common trip-up: when you import something form Blender it comes in (usually) with rotation of (-90,0,0) to handle coordinate transforms from Blender to Unity.
When you slap any 2D collider on that, the collider is now “lying flat” and generates no shapes.
To get around this, use an extra GameObject at the root, put your 2D collider on that, then “hang” the Blender3D object as a child of that, and make the prefab from the root.
Here’s some more notes:
Costs of using Blender files directly vs exporting to FBX:
Unity imports Blender3D objects as FBX via a little Python script:
The Python script that Unity uses (substitute your Unity version number or search) to import:
Blender3D objects used as trees / detail in Unity3D terrain (See the second half of this response)
Probuilder and Probuilderize and Blender:
Some more potentially-useful info:
Updating Blender files without breaking your prefabs:
When I work in Blender3D for Unity3D use, I follow these organizational rules:
use Empty Blender Objects as folders: they come out as an extra GameObject
ALWAYS parent everything to a single Empty, even a single object
put as few objects in a given .blend file as possible, combining them in Unity into a prefab
REMOVE unnecessary items (Light, Camera, etc.)
use good names for your Blender3D objects and NEVER RENAME them after Unity sees them
don’t even think about final Materials or Textures in Blender. Set the mesh to use N different materials, but always set up the materials within Unity and disregard what gets imported.