Can't get -colonly Empty objects to import from Blender as collision shapes

Godot Version

4.3

Blender Version

4.3.0

Question

Hello. I’m attempting to import a mesh from Blender with an associated sphere collision primitive that is defined in Blender using an Empty with a “-colonly” suffix as described in the docs.

The empty is getting imported as a simple Node3D rather than as the SphereShape3D that I’m expecting.

I’ve tried doing similar with a -colonly mesh object, and that one does get imported as a CollisionShape3D.

Here’s the structure of my test .blend file:

and here’s how it’s imported by Godot:

Am I doing something wrong?

Are you exporting the blender scene as a Collada .dae file?

The example in my post was using direct import from .blend, but I got the same result exporting to .dae from Blender and importing that to Godot.

If you’re using glTF instead of Collada, there’s another option. Godot 4.x already supports importing the OMI Physics glTF extensions, but Blender doesn’t export them yet.

I wrote a small Blender add-on that exports Blender collision primitives as OMI Physics, so they import directly into Godot as collision shapes without relying on naming conventions or the Collada workflow. It might be worth a look if you’re targeting a glTF pipeline.

OMI Physics Body glTF Extension
(tutorial) https://www.youtube.com/watch?v=-oBwMHa15IQ