FBX UCX collision meshes not working

I think those two pictures illustrate my issue perfectly:

19 collision boxes I have prepared, none of these has more than 8 vertices, 6 faces, 12 edges.

A sole, one, single, singular, lone blob of a collision box UE thinks I wanted.

What am I doing wrong? Do I have to split every single wall into a separate mesh and import it separately too? Or do I have to keep trying to make collision boxes inside of Unreal, with box scaling jumping in a metre-long increments and other imprecise tools?

My understanding is that UE only supports a single convex collider per mesh (and will helpfully auto-convert a non-convex collider into a convex one, as you have seen). So yes, you’ll need to split up your mesh into convex portions and import them individually.

Thing is, I can set those 19 collision boxes in Unreal and it will work. Also none of them is non-convex.

It’s exactly as the documentation requires, there was an example with a lollipop - stick collision box as a separate object from the candy collision box. And I do, in fact, have nineteen separate collision box objects, none of them being convex.

In my understanding, the mesh being convex or not doesn’t matter - collision boxes being convex or not do.

Cool, I’ve learned something new today, then!

Maybe one of your import settings was wrong. Did you forget to uncheck “Auto Generate Collision” in your FBX Import Options dialog?

Oh, I think I found the actual problem:

The naming of the meshes is very, very important. If your model is named:

modelname

then your collision mesh needs to be named (assuming you want a convex collision)

UCX_modelname_xx    (the _xx part is optional)

You have:

interior_walls.000
UCX_mothership_interior_walls_00

See the problem? I would try this:

interior_walls.000
UCX_interior_walls.000_00

or something even simpler if that doesn’t work:

interiorwallsA
UCX_interiorwallsA_00

I didn’t uncheck it initially. I did it now, and the mesh has no collision whatsoever now.

Ah, yes, the UCX_interior_walls.000_00 method works perfectly!

Thank you, I simply thought the collision mesh needs to be named after the *.fbx file, not after the object isnide that file.

Too bad I can’t mark this comment as a correct answer…

Go to your mesh asset in “collision” tab change in the “Collision Complexity” by “Project Default” to “Use Complex Collision as Simple”

1 Like

Hope this works for you