Generating Collider on import (fbx)

I have created a very simple S shape in blender and imported into Unity. The import settings are pretty standard and I have clicked on “Generate Colliders” but from what I see the mesh collider doesn’t generate anything. Only when I choose convex do I see something in the scene but this collapses the collider and doesn’t give the precision i want. I’m obviously doing some very wrong given te simplicity of the shape/mesh can you help please?

Edit: See commentary below, as now that I understand your objective better, I suggest two convex meshes around the rectangles applied as mesh colliders to the artwork you present.

What you’re seeing is quite standard and expected. The second image shows a collider in the shape of the mesh. It is naturally difficult to even see. A non-convex collider is basically the mesh itself.


It doesn’t appear you are using a Rigidbody, so a convex collider isn’t required. The convex option does exactly what you’re seeing, it ensures the collider is not formed with any concave faces, specifically for use with Rigidbody objects (stuff that moves). This is related to how the physics engine performs collision testing on moving (Rigidbody) objects (that are not kinematic - Google provides). Real time physics engines of most types can’t efficiently handle concave features (cutouts, or like your object, L or U shaped regions). For complex moving objects that do have concave features, we generally must apply colliders of our own creation if the convex setting produces a collider that isn’t of sufficient detail.


The bottom line here is that if your mesh is static (non-moving, non-Rigidbody or kinematic RigidBody), leave convex off and you probably don’t have a problem. Try tossing spheres at the mesh so created. If they pass right through your mesh, then you have a problem. Turn on the physics debug view to see the colliders (but they are subtle).

Thanks @JVene appreciate you taking the time to answer. Think I am now heading down a rabbit hole with this one. So indeed there does appear to be a mesh collider applied. If I create a sphere with collider and rigidbody a collision is detected on the SBlock (my mesh). N.B. just mesh collider and no rigidbody on the SBlock


However, I can’t detect a collision between two Sblocks, for example, because when I apply a rigidbody I get the warning:

"Non-convex MeshCollider with
non-kinematic Rigidbody is no longer
supported in Unity 5. If you want to
use a non-convex mesh either make the
Rigidbody kinematic or remove the
Rigidbody component. "


So to detect the collision I am assuming I need a rigidbody in place otherwise the collision isn’t detected as both are IsKinematic and ignored. I’m surprised a simple S shape that I have created is proving so problematic.

Any ideas?

Thank you @JVene I really appreciate your constructive and non-patronising approach. It would have been all too easy, on reflection, to just say “go read the manual” but you took the time to provide a useful explanation. Thank you again for taking the time to point me in the right direction.