No collision when game is lagging

I made a 3rd person platformer in the past and when the game is played on a powerful machine everything runs as it should, but when played on a weaker machine, moving platforms will simply go through the player and even static walls can be traversed without much of a fight.

Simply, when I put up boundaries in or around the levels, the player should not be able to go through them, laggy or not. In the same way when I set up boundaries for the AI to stay in, they should not ignore and pass through them.

I must be doing something wrong because surely Unity wouldn’t disregard slower machines? Is there anything I can do to fix this?

have you tried setting the collision detection to continuous in the rigidbody?