In the case of an object whose collision is defined by multiple convex hulls, results are best when the hulls do not intersect with one another. For example, if the collision for a lollipop were defined by two convex hulls, one for the candy and one for the stick, a gap should be left between the two as in the following illustration:
Why is it best to keep gaps between collision meshes. Does it minimize collision checks somehow ?
“Why is it best to keep gaps between collision meshes.”
It’s not! You don’t need to do that, all you need to do is set bOneConvexHullPerUCX to true in your mesh import dialog (you can default this to true in the config). Why this isn’t defaulted to true as an engine default I don’t know, its like a legacy thing, there is no reason to not have it at true really.
When that option is true, your multiple hulls will be imported as you intended and this is the best most efficient way to do it.
When that option is false… the importer does stupid crap that nobody wants like trying to decompose the multiple hulls into one hull and ending up with more hulls and more complex hulls than was originally imported (this is where the gap suggestion comes from to prevent that but the person who wrote that document doesn’t seem to be aware of the bOneConvexHullPerUCX option that has been in the engine since 2006)
To clarify, to properly use this option your collision hulls need to be as separate objects in the scene, not as separate elements of one object.