I have found there to be three reasons collision does not import the way you expect:
- You forgot to disable “Generate collision” during import
- The collision mesh is not named exactly according to the naming convention, so UE4 doesn’t associate your collision mesh with your static mesh during import.
- Your collision mesh is not convex so UE4 approximated it with it’s own convex hull.
Issue 1 is easy to correct – you just need to import the mesh again using the “Import” button and make sure that “Generate collsion is off”.
You can detect if you are experiencing issue 2 if you open the static mesh up for editing in UE4, turn on display of “Simple collision”, and do not see any collision (in green) appear. The name of the collision mesh must be UCX_NAME_OF_STATIC_MESH_01, UCX_NAME_OF_STATIC_MESH_02, etc, where NAME_OF_STATIC_MESH must match the name of the object as it appears in the FBX file.
You can detect if you are experiencing issue 3 if you open the static mesh up for editing in UE4, turn on display of “Simple collision”, and see collision in green, but it looks like an approximate “wrap” around the collision you provided.
I found this video helpful: Blender 2.8 Custom Collision for UE4 - Blender for Game Development - YouTube