Godot Version
v4.6.2.stable.official [71f334935]
Question
Is there support for Mesh Colliders somewhere in the engine?
If not, are there any plans to add them?
Working on a couple of projects, switching to GoDot from Unit and there are a few objects which I am not sure how to make work without using a Mesh Collider. One such object is a large piece of non-flat terrain.
Yes. It’s easy. I happen to need to do it for an object in the game jam game I’m working on right now, Rick O’Shea.
So I have this shooting gallery.
The bullets bounce of the houses because they have mesh colliders.
But they go right through the driveway, because it does not. So here’s my scene tree:
The driveway-long2 node is a .glb file I dragged in. It’s just a mesh, but it’s wrapped up in an object I don’t need.
- Right-click the object and select Make Local.
Now it looks like this:

- Create a new StaticBody3D.
Note the error, it’s saying it needs a CollisionShape3D.
- Select the MeshInstance3D. (Mine is called driveway-long.)
- Click the Mesh toolbar menu button above the 3D Viewport.
- Select Create Collision Shape…
- Ensure Sibling and Trimesh are selected in the dialog that pops up.
- Press the Create button.
Now you have a CollisionShape3D has also has an error.
- Shift+Click your MeshInstance3D and CollisionShape3D, and drag-and drop them onto the StaticBody3D.
- Delete the empty Node3D (mine is called driveway-long2).
- Rename the StaticBody3D if you like.
- Select the StaticBody3D.
- In the Inspector, set the physics collision layers and masks to be what you want. (For walls/floors/ceilings I leave it on the default.)
You can save a few steps by using Static Body Child instead of Sibling when creating the mesh, but I have found that having the StaticBody3D as the root is more consistent and makes any code you have to add later easier because it’s the StaticBody3D that interacts with the world, not the MeshInstance3D.
For a terrain, you can use a static body node with heightmap collision shape. It’ll be more optimized than general concave mesh collider, although you’ll need a couple of lines of script to set it up from your heightmap data or terrain vertex data.