Using 2 colliders on one object. Am I doing it wrong?

I have ended up having using two colliders on an object. One with Is Trigger set to on, and one with it off.

If I use one and set the Is Trigger to on, it falls through the floor. I need the other collider with Is Trigger set to off to make sure the object interacts properly with it’s surroundings.

This doesn’t feel right. Is there a way I can use only one collider here?

A trigger isn’t meant to collide with stuff, that’s why it’s falling through the floor. If you need your object to collide, you do not need the trigger collider, just use a regular one.

As for scripting, instead of using

void OnTriggerEnter(Collider other) {
        //
}

you use

void OnCollisionEnter(Collision collision) {
    //
}

and so on.

Give it one collider with IsTrigger set to false, and then create another gameobject with a trigger collider, make it a child of the original object, and give it a simple script that has the OnTriggerEnter/OnTriggerStay/OnTriggerExit functions affect something on the gameobject’s parent (or root) gameobject (= the original object). You can make the trigger collider larger than the non-trigger collider.