Does OnTriggerStay don't detect a collision with a non-trigger collider?

I have a player that can move and has a collider and a rigidbody.
I have an interactable object that has a trigger collider and a rigibody too.
The object has this script attached:

public class Interactable : MonoBehaviour
{
    private void OnTriggerStay(Collider col)
    {
        Debug.Log("Inside the range");

        if (Input.GetKeyDown(KeyCode.E))
        {
            Debug.Log("Interacted with an object");

            col.gameObject.GetComponent<StateManager>().Interact();
        }
    }
}

Why isn’t the function called when player walks inside the trigger that has that script?

what actually are you trying to do?, i can’t see where are you telling object to do something when is in trigger or even detecting if it’s trigger, i am using OnTriggerStay to for ground detection but like this. i am asking if the object that my player collide with is trigger or not and it’s tag

  void OnTriggerStay(Collider other)
        {
            if (!other.isTrigger && other.gameObject.tag == "Ground")
            {
                characterControl.IsGrounded = true;
                characterControl.Dowalljump = false;
            }
        }