Кому как удобнее, тот так и делает, в целом.
Тут каждый вам своё предложение напишет, как это сделать.
Например,

Код:
если (объект, который должен войти во взаимодействие с героем переходит границу героя)
то
{
отодвинуть к краю границы героя;
}
Казалось бы, всё просто, но нет, ведь герой может запрыгнуть на ящик, а он вместо этого отодвинется. Поэтому учитываем его положение по Y тоже.