Cannot import blender files

Godot Version

4.1.1

Blender Version

3.6.2

Question

I am having issues with importing models from Blender to Godot.
I have enabled blender in the project settings and I have set the path to the blender folder



My Blender-file is a cube with one side having a ramp. Ie, it is very basic and nothing complex about it. I have removed the camera and light that comes with the default scene.

Still, when I create a MeshInstance3D node and try to load up my blend file into the “mesh” the editor doesn’t recognize blend files and I have to select “All Files (*)” to see it.

image

I then get the following error when I try to import the file. I have tried to troubleshoot this error for two days and I cannot seem to find anybody else who has a similar problem. Usually they haven’t set the path, enabled blender or it is something different.

If I drag and drop the blend-file into an empty scene, I do get the mesh out there but it is just a “Node3D” node.

I cannot use the “mesh” menu to create collisionshapes unless I select the node and enable “editable children”

The problem with this method is: if I enable editable children, I can access the mesh menu. But if I use the mesh menu to create a collisionshape3d that fits the mesh, Godot gives me a warning that I should only use it for StaticBody3d, Area3D and so forth. NOT straight up on a Node3d.

But I cannot seem to import blenderfiles, and when I drag n drop it into my scene, I only get a Node3D node. Not a MeshInstance3D or something else I can work with.

I seem to be able to import .obj export fine, but not glTF 2.0, that throws the same error:
image

I’ve been trying to solve this for two days now and from what I can tell I’m the only one to have this issue. Perhaps it is a bug or I’m just missing something.

Blend files are supposed to be entire scenes, just like GLTF/GLB or DAE they have heirarchies.

What you want specifically is collision on a specific child then you can open the advanced importer by double clicking “cube.blend/glb/dae” in godot, selecting the mesh you want collision for and ticking the “Physics” box, picking a shape and body type.

You could also move the created collision shape outside of the instance’s children. Exporting as an OBJ is one way to get just a mesh resource instead of a scene.

1 Like

Thank you so much for your detailed answer!